02105 eksamensnoteruniguld.dk/wp-content/guld/dtu/algo1/algoritmer_og...3.4 lidt samlet om stakke og...
TRANSCRIPT
![Page 1: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/1.jpg)
02105
Eksamensnoter
Lasse HerskindS153746
12. maj 2017
Indhold
1 Sortering 3
2 Analyse af algoritme 42.1 Køretid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Pladsforbrug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3 Asymptotisk tid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.1 O-notation, øvre grænse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3.2 Ω-notation, nedre grænse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3.3 Θ-notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3.4 Lidt regler / nyttige egenskaber . . . . . . . . . . . . . . . . . . . . . . . . . 62.3.5 Eksperimentiel analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Datastrukture 73.1 Stak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Kø . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.3 Hægtede lister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.4 Lidt samlet om stakke og køer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Prioritetskøer, træer og hobe 94.1 Prioritetskø . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.2 Rodfæstede træer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.3 Binære træer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.4 Hob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.4.1 Algoritmer pa hobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124.4.2 Hobsortering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5 Uorienteree grafer 135.1 Repræsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145.2 Dybdeførst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2.1 Sammenhængskomponenter . . . . . . . . . . . . . . . . . . . . . . . . . . . 165.3 Bredderførst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.4 Todelte grafer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.5 Grafalgoritmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6 Orienterede grafer 186.1 Repræsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196.2 DAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206.3 Topologisk sortering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.4 Stærke sammenhængskomponenter . . . . . . . . . . . . . . . . . . . . . . . . . . . 226.5 Implicit graf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1
![Page 2: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/2.jpg)
7 Foren og find 237.1 Hurtig find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247.2 Hurtig forening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247.3 Vægtet forening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257.4 Overblik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257.5 Stikompression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267.6 Overblik 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267.7 Dynamiske sammenhængskomponenter . . . . . . . . . . . . . . . . . . . . . . . . . 27
8 Mindste udspændende træ 278.1 Repræsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288.2 Snitegenskaber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288.3 Kredsegenskaber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298.4 Prims algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298.5 Kruskals algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9 Korteste veje 329.1 Dijkstras algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339.2 Korteste veje pa DAG’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
10 Hashing 3510.1 Hægtet hashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3510.2 Uniform hashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3610.3 Overblik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3610.4 Hashfunktioner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3710.5 Lineær probering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
11 Binære søgetræer 3811.1 Nærmeste naboer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3911.2 Indsættelse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4111.3 Predecessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4111.4 Sletning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4111.5 Algoritmer pa træer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
11.5.1 Tip til rekursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4211.5.2 Størrelse af træ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4311.5.3 Længste sti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4311.5.4 Korteste sti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4311.5.5 Inorder trægennemløb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4311.5.6 Preorder trægennemløb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4411.5.7 Postorder trægennemløb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2
![Page 3: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/3.jpg)
1 Sortering
Husk:Flettesortering sortere to sorterede lister. Derudover er køretiden Θ(n ∗ log(n))
1 p r i v a t e s t a t i c i n t [ ] s o r t ( i n t [ ] numbers ) 2 i f ( numbers . l ength <= 1) 3 return numbers ;4 5 i n t m = numbers . l ength / 2 ;6 i n t [ ] A1 = Arrays . copyOfRange ( numbers , 0 , m) ;
3
![Page 4: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/4.jpg)
7 i n t [ ] A2 = Arrays . copyOfRange ( numbers , m, numbers . l ength ) ;8 A1 = s o r t (A1 ) ;9 A2 = s o r t (A2 ) ;
10 re turn merge (A1 , A2 ) ;11 1213 p r i v a t e s t a t i c i n t [ ] merge ( i n t [ ] A1 , i n t [ ] A2) 14 i n t [ ] numbers2 = new i n t [ A2 . l ength + A1 . l ength ] ;15 i n t k = 0 , l = 0 ;16 f o r ( i n t a = 0 ; a < A1 . l ength + A2 . l ength ; a++) 17 i f ( k == A1 . l ength ) 18 numbers2 [ k + l ] = A2 [ l ] ;19 l ++;20 e l s e i f ( l == A2 . l ength ) 21 numbers2 [ k + l ] = A1 [ k ] ;22 k++;23 e l s e i f (A1 [ k ] < A2 [ l ] ) 24 numbers2 [ k + l ] = A1 [ k ] ;25 k++;26 e l s e 27 numbers2 [ k + l ] = A2 [ l ] ;28 l ++;29 30 31 return numbers2 ;32
2 Analyse af algoritme
2.1 Køretid
4
![Page 5: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/5.jpg)
2.2 Pladsforbrug
2.3 Asymptotisk tid
For alle typer er følgende gældende, vi opskriver dog blot med O
• O(g(n)) er en mængde af funktioner
• Opfat = som in
• f(n) = O(n2) er fint, men ikke O(n2) = f(n)
2.3.1 O-notation, øvre grænse
Definition:f(n) = O(g(n)) hvis f(n) ≤ c · g(n) for store nTo hurtige:
• 5 ∗ n2 = O(n2)
• 5 ∗ n2 = O(n3)
2.3.2 Ω-notation, nedre grænse
Definition:f(n) = Ω(g(n)) hvis f(n) ≥ c · g(n) for store nTo hurtige
• 5 ∗ n2 = Θ(n2)
• 5 ∗ n3 = Θ(n2)
2.3.3 Θ-notation
Definition:f(n) = Θ(g(n)) hvis f(n) er bade O(g(n)) og Ω(g(n))To hurtige
• 5 ∗ n2 = Θ(n2)
• 5 ∗ n2 + 7n = Θ(n2)
5
![Page 6: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/6.jpg)
2.3.4 Lidt regler / nyttige egenskaber
2.3.5 Eksperimentiel analyse
6
![Page 7: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/7.jpg)
3 Datastrukture
3.1 Stak
Alle operationer foregar i konstant tid Θ(1)
3.2 Kø
Alle operationer foregar i konstant tid Θ(1)
7
![Page 8: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/8.jpg)
3.3 Hægtede lister
Search er i lineær tid, insert og delete i konstant tid. Pladsen er lineær.
3.4 Lidt samlet om stakke og køer
8
![Page 9: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/9.jpg)
4 Prioritetskøer, træer og hobe
4.1 Prioritetskø
9
![Page 10: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/10.jpg)
4.2 Rodfæstede træer
4.3 Binære træer
10
![Page 11: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/11.jpg)
4.4 Hob
11
![Page 12: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/12.jpg)
4.4.1 Algoritmer pa hobe
12
![Page 13: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/13.jpg)
4.4.2 Hobsortering
5 Uorienteree grafer
13
![Page 14: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/14.jpg)
5.1 Repræsentation
14
![Page 15: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/15.jpg)
15
![Page 16: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/16.jpg)
5.2 Dybdeførst
5.2.1 Sammenhængskomponenter
16
![Page 17: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/17.jpg)
5.3 Bredderførst
5.4 Todelte grafer
For at undersøge om noget er en todelt graf kan du bruge BFS og sa tjekke om nogen af knudernei samme lag er forbundet med hinanden, hvis ikke er det en todelt graf.
17
![Page 18: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/18.jpg)
5.5 Grafalgoritmer
6 Orienterede grafer
18
![Page 19: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/19.jpg)
6.1 Repræsentation
19
![Page 20: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/20.jpg)
6.2 DAG
Husk!For at vurdere om noget er en DAG kan du bruge DFS eller BFS. Hvis du rammer en knude somallerede er markeret, men ikke er den forgænger, sa vil der være en kreds.
20
![Page 21: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/21.jpg)
6.3 Topologisk sortering
21
![Page 22: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/22.jpg)
6.4 Stærke sammenhængskomponenter
Husk!At hver knude ogsa er et stærkt sammenhængskomponent med sig selv
22
![Page 23: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/23.jpg)
6.5 Implicit graf
7 Foren og find
23
![Page 24: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/24.jpg)
7.1 Hurtig find
7.2 Hurtig forening
24
![Page 25: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/25.jpg)
7.3 Vægtet forening
7.4 Overblik
25
![Page 26: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/26.jpg)
7.5 Stikompression
7.6 Overblik 2
26
![Page 27: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/27.jpg)
7.7 Dynamiske sammenhængskomponenter
8 Mindste udspændende træ
27
![Page 28: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/28.jpg)
8.1 Repræsentation
8.2 Snitegenskaber
28
![Page 29: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/29.jpg)
8.3 Kredsegenskaber
8.4 Prims algoritme
29
![Page 30: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/30.jpg)
30
![Page 31: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/31.jpg)
8.5 Kruskals algoritme
31
![Page 32: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/32.jpg)
9 Korteste veje
32
![Page 33: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/33.jpg)
9.1 Dijkstras algoritme
33
![Page 34: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/34.jpg)
34
![Page 35: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/35.jpg)
9.2 Korteste veje pa DAG’s
10 Hashing
10.1 Hægtet hashing
35
![Page 36: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/36.jpg)
10.2 Uniform hashing
10.3 Overblik
36
![Page 37: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/37.jpg)
10.4 Hashfunktioner
10.5 Lineær probering
37
![Page 38: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/38.jpg)
11 Binære søgetræer
38
![Page 39: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/39.jpg)
11.1 Nærmeste naboer
39
![Page 40: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/40.jpg)
40
![Page 41: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/41.jpg)
11.2 Indsættelse
11.3 Predecessor
11.4 Sletning
Tid: O(h)
41
![Page 42: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/42.jpg)
11.5 Algoritmer pa træer
11.5.1 Tip til rekursion
42
![Page 43: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/43.jpg)
11.5.2 Størrelse af træ
11.5.3 Længste sti
1 LongestRoute ( root x )2 i f ( x == n u l l )3 return −1;4 5 return Math . max( LongestRoute ( x . l e f t ) , LongestRoute ( x . r i g h t ))+1;6
11.5.4 Korteste sti
1 Kor t e s t eS t i ( root x )2 i f ( x == n u l l )3 return −1;4 5 return Math . min ( Kor t e s t eS t i ( x . l e f t ) , Kor t e s t eS t i ( x . r i g h t ))+1;6
11.5.5 Inorder trægennemløb
Under
43
![Page 44: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/44.jpg)
11.5.6 Preorder trægennemløb
Venstre
11.5.7 Postorder trægennemløb
Højre
44
![Page 45: 02105 Eksamensnoteruniguld.dk/wp-content/guld/DTU/Algo1/algoritmer_og...3.4 Lidt samlet om stakke og k˝er 8 4 Prioritetsk˝er, trˆer og hobe 4.1 Prioritetsk˝ 9 4.2 Rodfˆstede trˆer](https://reader035.vdocuments.mx/reader035/viewer/2022062508/6053a60b432e3a56a51e71eb/html5/thumbnails/45.jpg)
45