2. prednáška ( ) O(d triedenia) k zložitosti

Σχετικά έγγραφα
Start. Vstup r. O = 2*π*r S = π*r*r. Vystup O, S. Stop. Start. Vstup P, C V = P*C*1,19. Vystup V. Stop

1. Limita, spojitost a diferenciálny počet funkcie jednej premennej

Matematika Funkcia viac premenných, Parciálne derivácie

Motivácia Denícia determinantu Výpo et determinantov Determinant sú inu matíc Vyuºitie determinantov. Determinanty. 14. decembra 2010.

Michal Forišek: Early beta verzia skrípt z ADŠ

7. FUNKCIE POJEM FUNKCIE

Obvod a obsah štvoruholníka

Komplexné čísla, Diskrétna Fourierova transformácia 1

Matematika 2. časť: Analytická geometria

Ekvačná a kvantifikačná logika

1. písomná práca z matematiky Skupina A

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy

Život vedca krajší od vysnívaného... s prírodou na hladine α R-P-R

Gramatická indukcia a jej využitie

ARMA modely čast 2: moving average modely (MA)

,Zohrievanie vody indukčným varičom bez pokrievky,

Prechod z 2D do 3D. Martin Florek 3. marca 2009

1 Koeficient kovariancie

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

Matematika prednáška 4 Postupnosti a rady 4.5 Funkcionálne rady - mocninové rady - Taylorov rad, MacLaurinov rad

3. prednáška. Komplexné čísla

Tomáš Madaras Prvočísla

Priamkové plochy. Ak každým bodom plochy Φ prechádza aspoň jedna priamka, ktorá (celá) na nej leží potom plocha Φ je priamková. Santiago Calatrava

1-MAT-220 Algebra februára 2012

ARMA modely čast 2: moving average modely (MA)

Cvičenie č. 4,5 Limita funkcie

Limita postupnosti II.

1. Komplexné čísla. Doteraz ste pracovali s číslami, ktoré pochádzali z nasledovných množín:

Chí kvadrát test dobrej zhody. Metódy riešenia úloh z pravdepodobnosti a štatistiky

6. Mocniny a odmocniny

Rozsah hodnotenia a spôsob výpočtu energetickej účinnosti rozvodu tepla

Διάλεξη 04: Παραδείγματα Ανάλυσης

KATEDRA DOPRAVNEJ A MANIPULAČNEJ TECHNIKY Strojnícka fakulta, Žilinská Univerzita

Kontrolné otázky na kvíz z jednotiek fyzikálnych veličín. Upozornenie: Umiestnenie správnej a nesprávnych odpovedí sa môže v teste meniť.

Príklady na precvičovanie číselné rady a kritériá ich konvergencie a divergencie

M6: Model Hydraulický systém dvoch zásobníkov kvapaliny s interakciou

p(α 1 ) = u 1. p(α n ) = u n. Definícia (modulárna reprezentácia polynómu). Zobrazenie

Aproximačné algoritmy. (7. októbra 2010) DRAFT

Goniometrické substitúcie

Planárne a rovinné grafy

x x x2 n

Obsah. 1.1 Reálne čísla a ich základné vlastnosti Komplexné čísla... 8

Διδάσκων: Παναγιώτης Ανδρέου

HASLIM112V, HASLIM123V, HASLIM136V HASLIM112Z, HASLIM123Z, HASLIM136Z HASLIM112S, HASLIM123S, HASLIM136S

Analýza údajov. W bozóny.

Αλγόριθµοι και Πολυπλοκότητα

18. listopada listopada / 13

Lineárna algebra I - pole skalárov, lineárny priestor, lineárna závislosť, dimenzia, podpriestor, suma podpriestorov, izomorfizmus

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy

Možnosti rozhodovacích agentov hrajúcich hracie karty. Bakalárska práca. Juraj Barič. Univerzita FMFI KI Informatika. Vedúci bc.

PRIEMER DROTU d = 0,4-6,3 mm

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

4. Výrokové funkcie (formy), ich definičný obor a obor pravdivosti

1 Prevod miestneho stredného slnečného času LMT 1 na iný miestny stredný slnečný čas LMT 2

Kompilátory. Cvičenie 6: LLVM. Peter Kostolányi. 21. novembra 2017

Metódy vol nej optimalizácie

CHÉMIA Ing. Iveta Bruončová

Algebraické štruktúry I algebraické štruktúry, grupa, základné vlastnosti grupy, morfizmy

2. prednáška. Teória množín I. množina operácie nad množinami množinová algebra mohutnosť a enumerácia karteziánsky súčin

Deliteľnosť a znaky deliteľnosti

Διδάσκων: Παναγιώτης Ανδρέου

7 Derivácia funkcie. 7.1 Motivácia k derivácii

3. Striedavé prúdy. Sínusoida

Motivácia pojmu derivácia

MATEMATICKÁ OLYMPIÁDA

Katedra informatiky Fakulty matematiky, fyziky a informatiky Univerzity Komenského v Bratislave ÚVOD DO DISKRÉTNYCH ŠTRUKTÚR.

FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO. Pavol Ďuriš. Výpočtová zložitosť

Pevné ložiská. Voľné ložiská

Ispitivanje toka i skiciranje grafika funkcija

Erkki Mäkinen ja Timo Poranen Algoritmit

Kombinatorické identity Peter πtr Korcsok

MATEMATICKÁ ANALÝZA 1

Analýza vlastností funkcií mierky a waveletov v ortogonálnom prípade. - funkcia mierky a wavelet spĺňajúca relácie zmeny rozlíšenia

Προηγούµενο: Ανω Φράγµα στην Τάξη των Συναρτήσεων. Ρυθµός Αύξησης (Τάξη) των Συναρτήσεων. Σύνοψη Ιδιοτήτων

Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018

MIDTERM (A) riešenia a bodovanie

priradí skalár ( αβ, ) C sa nazýva skalárny súčin vtedy a len vtedy, ak platia tieto 4 axiómy:,

Vzorové riešenia 3. kola zimnej série 2014/2015

PROMO AKCIA. Platí do konca roka 2017 APKW 0602-HF APKT PDTR APKT 0602-HF

1. Dátové štruktúry pre geometrické algoritmy

1. písomná práca z matematiky Skupina A. 1. písomná práca z matematiky Skupina B

Podmienenost problému a stabilita algoritmu

Odporníky. 1. Príklad1. TESLA TR

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Úvod do lineárnej algebry. Monika Molnárová Prednášky

Numerické metódy matematiky I

Računarska grafika. Rasterizacija linije

REZISTORY. Rezistory (súčiastky) sú pasívne prvky. Používajú sa vo všetkých elektrických

Postupnosti. Definícia :

Hydromechanika II. Viskózna kvapalina Povrchové napätie Kapilárne javy. Doplnkové materiály k prednáškam z Fyziky I pre EF Dušan PUDIŠ (2013)

JMAK の式の一般化と粒子サイズ分布の計算 by T.Koyama

24. Základné spôsoby zobrazovania priestoru do roviny

Vektorový priestor V : Množina prvkov (vektory), na ktorej je definované ich sčítanie a ich

Funkcie - základné pojmy

C. Kontaktný fasádny zatepľovací systém

Symbolická logika. Stanislav Krajči. Prírodovedecká fakulta

Prognózovanie OBSAH PREDNÁŠKY

XVIII. ročník BRKOS 2011/2012. Pomocný text. Kde by bola matematika bez čísel? Čísla predstavujú jednu z prvých abstrakcií, ktorú

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

Získať nejaké body v tejto úlohe je ľahké: stačí vygenerovať všetky trojice a usporiadať ich podľa súčtu:

Transcript:

. predáška 19..018) Od triedeia) k zložitosti 1

Hľadaie ihly v kope sea 8 kariet, pod každou je jedo číslo... Úloha: Ako a ajmeej otočeí kariet zistiť, či je a iektorej z kariet zadaé číslo? Najlepší prípad: Ak máme šťastie, tak ho ájdeme a prvý pokus. Najhorší prípad: Ak tam číslo ie je, tak musíme azrieť pod každú kartu. pri kartáh po aajvýš krokoh vieme dať odpoveď

Hľadaie ihly v kope sea aajvýš opakovaí for it i=0; i<pole.legth; i++) if pole[i] == hladaecislo) retur true; retur false; 3

Hľadaie ihly v kope sea 8 kariet, pod každou je jedo číslo... Úloha: Ako a ajmeej otočeí kariet zistiť, či je a iektorej z kariet zadaé číslo? Bous: čísla pod kartami tvoria eklesajúu postuposť... Pomôže to ejako? 4

Hľadaie ihly v kope sea Hľadaé číslo 45 3 Zmešeie problému: z 8 kariet a 4 karty Ak je číslo 45 pod iektorou kartou, tak iba pod iektorou z týhto... Ak vyberáme kartu približe v strede, tak problém veľkosti redukujeme a problém veľkosti / 5

Ako harakterizovať problém? odidx stredidx poidx Problém = možiu kariet, ktorú prehľadávame, môžeme popísať číslami: idex prvej karty kde úsek začía) idex posledej karty kde úsek kočí) 6

Biáre vyhľadávaie publi boolea jevpoliit[] pole, it odidx, it poidx, it islo) { if odidx > poidx) retur false; Ak máme 0 kariet Vypočítame stred } it stredidx = odidx + poidx) / ; if pole[stredidx] == islo) retur true; if islo < pole[stredidx]) else retur jevpolipole, odidx, stredidx-1, islo); retur jevpolipole, stredidx+1, poidx, islo); Overíme, či v strede ie je to, čo hľadáme Rozhodeme sa, či v hľadaí pokračujeme vľavo alebo vpravo Nerekurzíva verzia a vičeiah 7

Je biáre vyhľadávaie lepšie? Najhorší prípad: 1 krok: kariet krok: / kariet 3 krok: polovia z / kariet = /4 = / = / 3-1 4 krok: polovia z /4 kariet = /8 = / 3 = / 4-1 k-ty krok: / k-1 kariet kedy skočíme? posledý krok: ostala 1 karta v iformatike: log = log / k-1 1 k-1 log k-1 1+log k Po aajvýš 1+log krokoh kočíme! 8

Je biáre vyhľadávaie lepšie? Lieáre vyhľadávaie Biáre vyhľadávaie 10 10 4 100 100 7 1000 1000 10 1000000 1000000 0 1000000000 1000000000 30 1000000000000 1000000000000 40 Oplatí sa mať vei usporiadaé a vďaka tomu môť použiť biáre vyhľadávaie. 9

Ako dať vei a správe miesto? Kartičkový experimet... 10

Bublikové triedeie Kým ie sú všetky susedé prvky v poli v správom poradí, opakuj: ájdi dva susedé prvky v zlom poradí a avzájom ih vymeň publi stati void bubblesortit[] p) { boolea bolavymea; Hľadáme susedé prvky, do { ktoré sú v zlom poradí bolavymea = false; } for it i=0; i<p.legth-1; i++) if p[i] > p[i+1]) { vymep, i, i+1); bolavymea = true; } } while bolavymea); it pom = p[i]; p[i] = p[i+1]; p[i+1] = pom; Pozačíme si, že sme ašli v poli iečo zlé 11

Bublikové triedeie Pozorovaie: od koa poľa sa postupe vytvára vybubláva) usporiadaá podpostuposť vylepšeie: pri hľadaí zlýh susedov emusíme ísť do koa poľa, -1, -, -3, ) vylepšeá verzia a vičeiah... Koľko krát sa zopakuje do-while yklus? v ajlepšom prípade usporiadaé pole): 1 krát v ajhoršom prípade: krát 1

Bubliky a počet porovaí Aký je počet porovaí, ktoré vykoá algoritmus? v ajlepšom prípade: -1 1 iteráia do-while yklu v ajhoršom prípade: -1) = - -1 porovaí v jedej iteráii do-while yklu aajvýš iteráií do-while yklu 13

Triedeie výberom SeletioSort, MiSort Stratégia pre pole veľkosti : ak je pole veľkosti 1, tak už je usporiadaé a môžeme skočiť iak ) ájdi ajmešie číslo vymeň ajmešie číslo s číslom a začiatku poľa prvé číslo v poli igoruj a usporiadaj zvyšok poľa zvyšýh -1 čísel) rovakým postupom 14

Triedeie výberom publi stati it idexnajmesiehoit[] p, it odidx, it poidx) { } it ajidx = odidx; for it i = odidx + 1; i <= poidx; i++) if p[i] < p[ajidx]) ajidx = i; retur ajidx; publi stati void vymeit[] p, it idx1, it idx) { } it pom = p[idx1]; p[idx1] = p[idx]; p[idx] = pom; ájdi ajmešie číslo vymeň ajmešie číslo s číslom a začiatku poľa prvé číslo v poli igoruj a usporiadaj zvyšok poľa zvyšýh N-1 čísel) rovakým postupom 15

Triedeie výberom publi stati void seletiosortit[] p, it odidx, it poidx) { if odidx == poidx) retur; Rekurzíva myšlieka ezameá rekurzívy program! } vymep, odidx, idexnajmesiehop, odidx, poidx)); seletiosortp, odidx + 1, poidx); Zmešeie problému o 1 ájdi ajmešie číslo vymeň ajmešie číslo s číslom a začiatku poľa prvé číslo v poli igoruj a usporiadaj zvyšok poľa zvyšýh N-1 čísel) rovakým postupom 16

Triedeie výberom publi stati void seletiosortit[] p) { for it i = 0; i < p.legth - 1; i++) { } } it miidx = i; for it j = i + 1; j < p.legth; j++) if p[j] < p[miidx]) miidx = j; it pom = p[i]; p[i] = p[miidx]; p[miidx] = pom; Nájdi idex ajmešieho prvku v podpoli začíajúom a idexe i. Vymeň prvok a idexe i a ajmeší prvok v podpoli od idexu i. 17

Triedeie výberom a porovaia publi stati void seletiosortit[] p) { for it i = 0; i < p.legth - 1; i++) { it miidx = i; for it j = i + 1; j < p.legth; j++) if p[j] < p[miidx]) miidx = j; p.legth = 8 i=0 7 i=1 6 i= 5 i=3 4 i=4 3 } } vymep, i, miidx); Počet porovaí pri poli veľkosti : i=5 i=6 1 1) )... 1 1 k 1 k 1) Počet porovaí 18

Bubliky vs. výber Počet porovaí V ajlepšom prípade V ajhoršom prípade BubbleSort -1-1) Vylepšeý BubbleSort -1-1)/ SeletioSort -1)/ -1)/ A čo ďalšie operáie v algoritmoh výmey, priradeia, ++, )? Ktorý z algoritmov je rýhlejší? 19

Korektosť: Robí algoritmus vždy to, čo má? Časová zložitosť: Aký rýhly je algoritmus? Pamäťová zložitosť: Aalýza algoritmov Koľko pamäte potrebuje algoritmus pri svojom behu?... komuikačá zložitosť, áročosť a prostriedky a zdroje,... 0

Ktorý algoritmus je rýhlejší? Naprogramujem a pomerám čas: a rôzyh počítačoh rôze operáie trvajú rôze dlho CISC vs. RISC, ahovaie, via a priípoh počítačov,...) algoritmus eoverím a všetkýh vstupoh čo ak som algoritmus etestoval práve a vstupe, a ktorom algoritmus počíta ajdlhšie čo ak algoritmus potrebujem pre také veľké vstupy, že le otestovaie akéhokoľvek z ih trvá iekoľko dí? Riešeie: teoretiká aalýza 1

Elemetára operáia: 1 krok Aalýza časovej zložitosti čo je elemetára operáia záleží od uvažovaého výpočtového modelu áš pohľad: každá jedoduhá operáia v Jave ako porovaie, priradeie,... pozor: jede príkaz ie je vždy jede krok, apr. volaie metódy môže skrývať možstvo krokov počet elemetáryh operáií je priamoúmerý času Aalýza časovej zložitosti algoritmu = počítaie počtu krokov algoritmu bez toho, aby sme ho spustili

Koľko ste sa dozvedeli? Aalýza časovej zložitosti Algoritmus a poli {5, 1, 5, } vykoal 131 krokov a a poli {6, 7, 1, 3, 1, 9} vykoal 19 krokov. Algoritmus A a poli veľkosti vykoá aajvýš 3* -+19 krokov a algoritmus B vykoá prese * +33*- krokov. ktorý je rýhlejší? Čo ás aozaj zaujíma? 3

Aalýza časovej zložitosti Presý počet krokov algoritmu záleží od kokréteho vstupu Ak je vstup väčší, počet krokov algoritmu by mal byť väčší časová zložitosť by mala byť fukiou od veľkosti vstupu ak je veľkosť vstupu, potom časová zložitosť je vyjadreá ako T) apr. maximály počet krokov, ktoré potrebuje algoritmus a vstupe veľkosti. Zvyčaje ás zaujíma horé ohraičeie počtu krokov poskytuje garaie trvaia) 4

Na čom záleží? Čo ak by sme každému z ih zvýšili mesačý príjem o... + 5% + 5% + 5% +1 +1 +1 Žiada z týhto operáií zásade ezmeí zaradeie človeka do ejakej príjmovej kategórie. 5

Na čom záleží? Aký ajväčší vstup dokáže algoritmus s daým počtom operáií spraovať za určitý čas? 6

Na čom záleží? Pri počítači, ktorý spraví 10 9 operáií za sekudu a 1,, 3, 1000, operáiáh avyše ezáleží... -ásobe via operáií vyrieši -krát rýhlejší počítač apr. vs. ) Z predhádzajúej tabuľky: rozdiel medzi a 3, či 3 a žiade koštaté zrýhleie počítača evyrieši pre všetky vstupy Výzva: Vieme algoritmy a základe časovej zložitosti rozdeliť do ejakýh kategórií tak, aby v každej z ih boli podobe časovo áročé algoritmy? 7

Asymptotiká zložitosť Zaujíma ás, ako rastie zložitosť algoritmu, ak veľkosť vstupu rastie do ekoeča ) Algoritmus A: T A ) = 3-4+100 Algoritmus B: T B ) = 300 +10 Algoritmus C: T C ) = 3 + Zložitosť algoritmov A a B rastie rovako. B vs. A: C vs. B: TB ) 300 10 lim lim T ) 3 4 100 A 3 TC ) lim lim ) T 300 10 B 100 Zložitosť C rastie eporovateľe rýhlejšie ako B 8

9 Theta Θ ako kategorizátor T A ) = 3-4+100 T B ) = 300 +10 Θg)) možia všetkýh fukií, ktoré sú z hľadiska rastu porovateľé s fukiou g) Do Θ ) patria 300 +10, ++log, 0.5, T A ) a T B ) sú z hľadiska rastu porovateľé. Pozorovaie: a multiplikatívej a aditívej koštate ezáleží. ) ) ),,,, ) )) 1 0 0 1 g f g N R f g

30 Theta Θ ) ) ),,,, ) )) 1 0 0 1 g f g N R f g

31 Príklad s Theta Θ ) 100 4 3 1 0 0 1 100 4 3,, 0,, ) 100 4 3 N Dokážte: Dôkaz: Zvoľme 1 =, =3, 0 =5. Potrebujeme ukázať, že platí: 5 3 100 4 3 pre 4) 100 4 100 100 4 3 5 4 100 3 100 4 3 ) ) ),,,, ) )) 1 0 0 1 g f g N R f g

3 Príklad: Theta Θ ) 3 3 1 0 0 1 3,, 0,, ) N Dokážte: Dôkaz sporom): 1 0 0 1,, 0,, N ) ) ),,,, ) )) 1 0 0 1 g f g N R f g Spor, eplatí pre > max, 0 ) Dôsledok: ) ) ) ) 3 3 3 3 Dá sa ukázať, že sú avyše aj disjukté.

Časová zložitosť BubbleSort-u publi stati void bubblesortit[] p) { boolea bolavymea; do { bolavymea = false; } for it i=0; i<p.legth-1; i++) if p[i] > p[i+1]) { vymep, i, i+1); bolavymea = true; } } while bolavymea); Počet všetkýh krokov algoritmu možo zhora aj zdola ohraičiť koštatým ásobkom počtu porovaí. 1.# porovaí) <= # krokov <=.# porovaí) 33

Θ a triedeia Počet porovaí V ajlepšom prípade V ajhoršom prípade BubbleSort -1-1) Vylepšeý BubbleSort -1-1)/ SeletioSort -1)/ -1)/ 1-1) aj -1)/ patria do Θ ) BubbleSort aj SeletioSort majú rovakú asymptotikú časovú zložitosť v ajhoršom prípade! Spomeuté triediae algoritmy patria do rovakej kategórie 34

A čo vieme povedať o každom behu? Počet porovaí V ajlepšom prípade V ajhoršom prípade BubbleSort -1-1) Vylepšeý BubbleSort -1-1)/ SeletioSort -1)/ -1)/ Časová zložitosť každého behu BubbleSort-u je medzi približe -1 a -1) Každý beh SeletioSort-u spraví Θ ) krokov. Čo vieme povedať o časovej zložitosti každého behu t.j. iele v ajhoršom prípade) algoritmu BubbleSort? 35

V praxi: Horé ohraičeie ako garaia sú dôležité garaie typu ebude to trvať dlhšie ako... pri aalýze algoritmov je iekedy často?) problém zaradiť časovú zložitosť algoritmu do Θ-možiy ejakej pekej fukie,, log,, log ) O 36

O-otáia O g )) f ) R, 0 N, 0, f ) g ) Og)) všetky fukie, ktoré sú asymptotiky zhora ohraičeé fukiou g) 37

O-otáia príklady O g )) f ) R, 0 N, 0, f ) g ) O ) =1, 0 =1 O ) =, 0 =1 O ) =1, 0 =1 +4 O ) =3, 0 =4 013 O ) =013, 0 =1 f ) g )) f ) O g )) g )) O g )) 38

A čo vieme povedať o každom behu? Počet porovaí V ajlepšom prípade V ajhoršom prípade BubbleSort -1-1) Vylepšeý BubbleSort -1-1)/ SeletioSort -1)/ -1)/ Cieľom aalýzy asymptotikej časovej zložitosti algoritmu je ájsť čo ajpomalšie rastúu fukiu f) takú, že časová zložitosť algoritmu je Of)) Časová zložitosť každého behu algoritmu BubbleSort je: O ) 39

Divá koveia? Matematiky korekte: g) Of)) g) Θf)) Čo sa používa: g) = Of)) g) = Θf)) 3- = O) Fukia Možia fukií 40

Sumarizáia o zložitosti Asymptotiká aalýza časovej zložitosti: zahyuje ako rastie čas výpočtu počet krokov) algoritmu v závislosti od toho, ako rastie veľkosť vstupu do ekoeča) abstrahuje sa od tehikýh detailov aditíve a multiplikatíve koštaty sa igorujú umožňuje idetifikovať rôze porovateľé triedy časovej zložitosti Θ - asymptotiky tesé hraičeie O asymptotiké ohraičeie zhora väčšiou stačí, keďže poskytuje garaie o maximálom trvaí behu algoritmu/výpočtu 41

O1) koštatá zložitosť Olog ) logaritmiká zložitosť Zaujímavé triedy zložitosti biáre vyhľadávaie v -prvkovej usporiadaej postuposti O) lieára zložitosť lieáre vyhľadávaie v -prvkovej eusporiadaej postuposti hľadaie miimálej hodoty v skutočosti Θ)) O ) kvadratiká zložitosť bublikové triedeia, triedeie výberom,... O 3 ) kubiká zložitosť O) expoeiála zložitosť kresleie Kohovej krivky úrove Na vičeiah: Ktorá trieda je lepšia? 4

Ω-otáia g )) f ) R, 0 N, 0, f ) g ) Ωg)) všetky fukie, ktoré sú asymptotiky zdola ohraičeé fukiou g) dolé ohraičeia sa používajú ie pri aalýze algoritmov, ale problémov 43

Ω-otáia Problém hľadaia miima v eusporiadaom v -prvkom poli má časovú zložitosť Ω) žiade algoritmus emôže ájsť miimum v poli bez toho, aby pozrel všetkýh hodôt, t.j. potrebuje aspoň krokov jeho časová zložitosť je teda Ω) Krása asymptotikýh ohraičeí zdola: Umožňujú dokázať ie to, že ľudia doposiaľ evymysleli rýhlejší algoritmus, ale že rýhlejší algoritmus ejde vymyslieť. Algoritmus je asymptotiky optimály pre ejaký problém, ak jeho časová zložitosť je Of)) a dolé ohraičeie pre problém je Ωf)). 44

Príklad a záver publi boolea metodait[] p) { for it i = 0; i < p.legth - 1; i++) for it j = i + 1; j < p.legth; j++) if p[i] == p[j]) retur true; } retur false; Aká je časová zložitosť metódy? 45

Potrebujeme to vôbe vedieť? Dokumetáie k.net Frameworku 4 od Mirosoftu: Kvalitá dokumetáia obsahuje iformáie o časovej zložitosti vykoávaia metódy efektívosti implemetáie). 46

Ď ť 47