Podziel, rozwiąż, połącz
Metoda dziel i zwyciężaj: podział problemu na podproblemy - Informatyka - liceum klasa 2, zakres rozszerzony (Python)
Metoda **dziel i zwyciężaj** ma trzy kroki: 1. **Podziel** problem na mniejsze podproblemy tego samego rodzaju (zwykle dwie połowy). 2. **Rozwiąż** podproblemy rekurencyjnie; bardzo małe (jeden element) rozwiązuje się wprost. 3. **Połącz** wyniki podproblemów w wynik całości. Program liczy sumę listy tą metodą i wypisuje, jak dzieli listę na kolejnych poziomach.
def total(values, depth=0):
print(" " * depth + str(values))
if len(values) == 1:
return values[0]
middle = len(values) // 2
return total(values[:middle], depth + 1) + total(values[middle:], depth + 1)
print("suma:", total([5, 3, 8, 1, 9, 2, 7]))Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Informatyka - liceum klasa 2, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.