Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
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)
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.