Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Výpočetní složitost algoritmů

Podobné prezentace


Prezentace na téma: "Výpočetní složitost algoritmů"— Transkript prezentace:

1 Výpočetní složitost algoritmů

2 Jak měřit dobu trvání algoritmu
V časových jednotkách --- ne V počtu jednoduchých operací V počtu instrukcí Turingova stroje

3 Maximální limitní složitost algoritmu
Doba výpočtu závisí na velikosti vstupních dat, je funkcí jejich velikosti n→f(n) Zajímá nás limitní složitost, složitost je z O(g(n)), pokud limn ∞f(n)/g(n) existuje. Složitost je z Θ(g(n)), pokud limn ∞f(n)/g(n) existuje a není 0. Může nás zajímat složitost maximální, či průměrná

4 Příklad: součet dvou vektorů
Délka vstupních dat n. Potřebný počet operací sčítání je n Potřebný počet instrukcí Turingova stroje je Θ(n).

5 Násobení matic Čtvercové matice n x n
Potřebný počet operací je n2.(2n-1) Složitost je Θ(n3), přesněji Θ(n3/2) A,B E,F S1+S2-S4+S6 , S4+S5 C,D G,H S6+S7 , S2-S3+S5-S7 kde S1 = (B – D)  (G + H), S2 = (A + D)  (E + H), S3 = (A – C)  (E + F), S4 = H  (A + B), S5 = A  (F – H), S6 = D  (G – E), S7 = E  (C + D). T(n) = (n), kde  = log2 7  2,81 < 3,

6 Hledání nejkratší cesty v grafu
Prozkoumáním všech cest (n!) Dijskrův algoritmus (n2)

7 Řazení posloupnosti podle velikosti
Přímým výběrem: (n2) Bublinkové třídění: (n2) Chytřejší algoritmy: (n . ln n)

8 Hledání minimální kostry grafu
Borůvkův algoritmus: potřebuji seřadit n2 hran podle délky Složitost (n2.ln n2) = (2 . n2.ln n) = (n2.ln n)


Stáhnout ppt "Výpočetní složitost algoritmů"

Podobné prezentace


Reklamy Google