Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
ALGORITMID JA ANDMESTRUKTUURID
Jüri Kiho
2
Teemad Algoritmi ajalise keerukuse mõiste.
Funktsiooni asümptootilised hinnangud. Sorteerimise pistemeetod. Sorteerimise kiir- ja ühildusmeetod. Sorteerimise erimeetodid. Sorteerimisülesande ajalise keerukuse alampiir. Järjestikpaigutus ja seotud paigutus. Paisksalvestus. Välisahelate ja lahtise adresseerimise meetodid. Puu ja kahendpuu. Algoritmid kahendpuu ja vastava hariliku puu töötlemiseks. Kahendotsimise puu. AVL-puu. B-puu. Klasside kujutamine. Kahendkuhi. Binomiaalkuhi. Alamsõne otsimine, Knuth-Morris-Pratti algoritm. Alamsõne otsimine, Rabin-Karpi algoritm. Teksti pakkimine, Huffmani algoritm. Pikima ühise osasõna otsimine.
3
Eeldusgraafi analüüsimine.
Graafi sügavuti läbimine. Graafi laiuti läbimine, Dijkstra algoritm. Graafi minimaalne toes, Kruskali algoritm. Graafi minimaalne toes, Primi algoritm. Planimeetria, pseudo-tõusunurga ja pöörde suuna leidmine. Planimeetria, punkti hulkurka kuuluvuse kontrollimine. Planimeetria, Grahami seiremeetod. Planimeetria, vähima vahemaaga punktipaari leidmine.
4
Kirjandus Jüri Kiho. Algoritmid ja andmestruktuurid.
Kolmas, parandatud ja täiendatud trükk. TÜ, 2003, 147 lk. 2. Jüri Kiho. Algoritmid ja andmestruktuurid. Ülesannete kogu TÜ, 2005, 31 lk. 3. Ahti Peder, Helle Hein, Lauri Kimmel. Objektorienteeritud programmeerimine. Praktikumijuhend TÜ, 2006, 82 lk.
5
Eksam Eksamile pääsemiseks peavad
kõik praktikumiülesanded olema arvestatud. Eksam on kirjalik (paberil). Kaasa võtta kirjutusvahend. Kõrvalist abi, kirjalikke materjale ega elektroonikaseadmeid ei tohi kasutada. Eksamiküsimused nõuavad vastust kas lühiessee kujul või testi vormis. Eksami temaatika – vt Kordamisküsimused (viimane slaid).
6
I. Algoritmi ajaline keerukus:
funktsioon f, mis igale selle algoritmi järgi lahendatavale konkreetsele ülesandele andmemahuga n seab vastavusse selle lahendamisel sooritatavate algoritmi sammude arvu f(n).
7
II. Ajalise keerukuse hinnangud
Olgu funktsioonid f ja g positiivsete väärtustega ja naturaalarvuliste argumentidega funktsioonid. Def. Öeldakse, et f on O(g), kui leidub c > 0 nii, et f (n) c g(n) , iga n korral (n > 0). Def. f on Ω(g), kui g on O(f). Def. f on Θ(g), kui f on O(g) ja g on O(f). f (n)/g(n) c f (n)/g(n) c1 ja g(n)/f(n) c2
8
O-relatsiooni omadused
Keerukusklassid NP-täielike ülesannete klass
9
III. Massiivi sorteerimine
Pistemeetod Insertion sort [1]-4.1 Ka AlgJava > Abi > Programmeerimine > Teemad > Järjend/massiiv > Sorteerimine > MassiivSortArvud.algjava Võrdlemistel põhinevate sorteerimisalgoritmide ajalise keerukuse alampiir Shelli meetod Shell sort [järgmine slaid] Kiirmeetod Quick sort [1]-4.2 Ühildusmeetod Merge sort [1]-4.3 Loendamismeetod Count sort [1]-4.5 Positsioonimeetod Radix sort [1]-4.5 Sorteerimismeetodi stabiilsuse mõiste Leksikograafilise järjestuse mõiste Ka AlgJava > Abi > Programmeerimine > Teemad > Sõnetüüp > Sõnetöötlus Sõnede võrdlemine> SõnedeVõrdlemine.algjava
11
IV. Graaf Graafi mõiste [1]-2.4
Graafi tippude topoloogiline sorteerimine Eeldusgraafi analüüsimine [1]-6.1
12
Graafi läbimine [1]-6.3 Graafi sügavuti läbimine Tee otsimine
Graafi laiuti läbimine Otseteede leidmine Lühimate teede leidmine, Dijkstra algoritm [1]-6.2 Minimaalse toese leidmine, Primi algoritm [1]-6.4
13
V. Puu [1]-2.3 Puu mõiste Kahendpuu mõiste Kahendpuu läbimine
Puule (metsale) vastav kahendpuu Täielik kahendpuu, kompaktne kahendpuu Binomiaalpuu
14
VI. Kuhjad [1]-3.4 Kahendkuhi Binomiaalkuhi
15
VII. Otsimispuud Kahendotsimispuu [1] - lk 28-32
AVL-puu [1] - lk 33-34 B-puu [1] - lk 35-38
16
VIII. Paigutusviise Järjestikpaigutus
ja seotud paigutus [1] - lk 41-44 Päisega/päiseta lihtahel/ringahel Magasini/järjekorra realiseerimine ahelana Päisega lihtahela sorteerimine (kas pistemeetodil [1] – lk 61 või ühildusmeetodil [1] – lk 68-69) Paisksalvestus [1] - lk 45-48 Klasside kujutamine: Galler-Fischeri meetodi idee [1] - lk 49 Graafi minimaalse toese leidmine, Kruskali algoritm [1]-6.4
17
IX. Kombinatoorika Hulga alamhulgad kõikide alamhulkade hulk
seljakotiülesanne m kaupa kombinatsioonide hulk Permutatsioonid
18
s = kiho tulem.length = 16 tulem[]: _ o h ho i io ih iho k ko kh kho ki kio kih kiho
19
s = jkiho mask = 13 = 1101 tulem: kio 2
20
s = jkiho m = 3 tulem: iho kho kio kih jho jio jih jko jkh jki
21
n = 4 tulem[]:
22
X. Pikima ühise osasõne otsimine [1] – 5.3
Sõne kõikide osasõnede leidmisel põhinev algoritm Omadustel põhinev eksponentsiaalne rekursiivne algoritm Omadustel põhinev ruutkeerukusega, dünaamilise kavandamisega algoritm
23
s = jürikiho t = ohikirüj
PYotse(s, t) = iki
24
aeg n |s| = |t| = n
25
XI. Alamsõne otsimine [1] – 5.1 Lihtne algoritm
Knuth-Morris-Pratti algoritmi idee, prefiksfunktsiooni mõiste Rabin-Karpi algoritmi põhiidee
26
Kordamisküsimused Algoritmi ajaline keerukus. Ajalise keerukuse hinnangud. Keerukusklassid. Sorteerimise pistemeetod. Sorteerimise kiirmeetod ja ühildusmeetod. Sorteerimise loendamismeetod ja positsioonimeetod. Magasin, järjekord, eelistusjärjekord. Järjestikpaigutus ja seotud paigutus. Paisksalvestus. Välisahelate ja lahtise adresseerimise meetodid. Puu ja kahendpuu. Binomiaalpuu. Kahendotsimise puu. AVL-puu. B-puu. Klasside kujutamine: Galler-Fischeri meetodi idee. Kahendkuhi. Binomiaalkuhi. Alamsõne otsimine: Knuth-Morris-Pratti algoritmi idee. Alamsõne otsimine: Rabin-Karpi algoritmi põhimõte. Kombinatoorika: hulga alamhulkade hulk. Seljakotiülesanne. Kombinatoorika: kombinatsioonid, permutatsioonid Pikim ühine osasõne. Omadused. Pikima ühise osasõna otsimine rekursiivselt. Pikima ühise osasõna otsimine dünaamilist kavandamist kasutades. Graafi tippude topoloogiline järjestus. Eeldusgraafi analüüsimine. Graafi sügavuti läbimine: teede otsimine. Graafi laiuti läbimine: Dijkstra algoritm. Graafi minimaalne toes: Primi algoritmi idee. Graafi minimaalne toes: Kruskali algoritmi idee. Planimeetria erivõtteid: pseudo-tõusunurk, pöörde suund. Planimeetria: Grahami seiremeetod.
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.