Algorytmy003

 0    15 Datenblatt    sg0034
mp3 downloaden Drucken spielen überprüfen
 
Frage Antworten
Algorytmy rekurencyjne
Lernen beginnen
aby rozwiązać problem wywołują same siebie (jeden lub więcej razy) przy rozwiązywaniu podobnych podproblemów
Etapy metody „dziel i zwyciężaj”: dziel
Lernen beginnen
dzielimy problem na pewną liczbę podproblemów, stanowiących mniejsze egzemplarze tego samego problemu.
Etapy metody „dziel i zwyciężaj: zwyciężaj
Lernen beginnen
rozwiązujemy podproblemy rekurencyjnie; jeśli rozmiary podproblemów są dostatecznie małe, to rozwiązujemy podproblemy bezpośrednio.
Etapy metody „dziel i zwyciężaj: połącz
Lernen beginnen
łączymy rozwiązania podproblemów w rozwiązanie pierwotnego problemu.
Etapy metody „dziel i zwyciężaj: Sortowanie przez scalanie
Lernen beginnen
Dziel: dzielimy n-elementowy ciąg na dwa podciągi po n/2 elementów kaŜdy. ZwycięŜaj: Sortujemy otrzymane podciągi, uzywając rekurencyjnie sortowania przez scalanie. Połącz: Łączymy posortowane podciągi w jeden posortowany ciąg.
Co charakteryzuje efektywność algorytmu?
Lernen beginnen
Rząd wielkości funkcji opisującej czas działania algorytmu
Asymptotyczna złożoność obliczeniowa
Lernen beginnen
wyznaczenie jedynie rzędu wielkości czasu działania algorytmu – interesuje nas, jak szybko wzrasta czas działania algorytmu, gdy rozmiar danych dąŜy do nieskończoności
Do opisu asymptotycznego czasu działania algorytmów korzysta się z
Lernen beginnen
funkcji, których zbiorem argumentów jest zbiór liczb naturalnych:
Pesymistyczny czas działania T(n) jest zazwyczaj
Lernen beginnen
funkcją rozmiaru danych wejściowych
Notację asymptotyczną moŜna równieŜ stosować do
Lernen beginnen
funkcji charakteryzujących pewne inne aspekty algorytmów (np. ilość uŜywanej pamięci)
f(n) = O(g(n))
Lernen beginnen
a<=b
f(n) = Omega(g(n))
Lernen beginnen
a>=b
f(n) = Omikron(g(n))
Lernen beginnen
a=b
f(n)=o(g(n))
Lernen beginnen
a<b
f(n)=w(g(n))
Lernen beginnen
a>b

Sie müssen eingeloggt sein, um einen Kommentar zu schreiben.