Algorytmy003

 0    15 schede    sg0034
Scarica mp3 Stampa Gioca Testa il tuo livello
 
Domanda Risposta
Algorytmy rekurencyjne
inizia ad imparare
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
inizia ad imparare
dzielimy problem na pewną liczbę podproblemów, stanowiących mniejsze egzemplarze tego samego problemu.
Etapy metody „dziel i zwyciężaj: zwyciężaj
inizia ad imparare
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
inizia ad imparare
łączymy rozwiązania podproblemów w rozwiązanie pierwotnego problemu.
Etapy metody „dziel i zwyciężaj: Sortowanie przez scalanie
inizia ad imparare
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?
inizia ad imparare
Rząd wielkości funkcji opisującej czas działania algorytmu
Asymptotyczna złożoność obliczeniowa
inizia ad imparare
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
inizia ad imparare
funkcji, których zbiorem argumentów jest zbiór liczb naturalnych:
Pesymistyczny czas działania T(n) jest zazwyczaj
inizia ad imparare
funkcją rozmiaru danych wejściowych
Notację asymptotyczną moŜna równieŜ stosować do
inizia ad imparare
funkcji charakteryzujących pewne inne aspekty algorytmów (np. ilość uŜywanej pamięci)
f(n) = O(g(n))
inizia ad imparare
a<=b
f(n) = Omega(g(n))
inizia ad imparare
a>=b
f(n) = Omikron(g(n))
inizia ad imparare
a=b
f(n)=o(g(n))
inizia ad imparare
a<b
f(n)=w(g(n))
inizia ad imparare
a>b

Devi essere accedere per pubblicare un commento.