Title: HUSK EKSAMENSTILMELDING Frist: 15. februar
1HUSK EKSAMENSTILMELDINGFrist 15. februar
2Algoritmer og Datastrukturer 1Merge-Sort CLRS,
kapitel 2.3 Heaps CLRS, kapitel 6
Gerth Stølting Brodal
Aarhus Universitet
3Merge-Sort(Eksempel på Del-og-kombiner)
A
sorteret
sorteret
n
p
q
q1
r
1
4p
n
q
r
k
1
A
n2
n1
kopi
R
?
sorteret
flet
n21
1
i
L
?
sorteret
n11
1
j
5Merge-Sort Analyse
Rekursionstræet
Observation
Samlet arbejde per lag er O(n)
Arbejde
O(n lag) O(n log2 n)
6Binær (Max-)Heap
Williams, 1964
7 Max-heap Egenskaber
- Roden knude 1
- Børn til knude i 2i og 2i1
- Faren til knude i i / 2
- Dybde 1log n
- ( n antal elementer)
8Max-Heapify
Før
Tid O(log n)
Efter
9Heap-Sort
Floyd, 1964
Williams, 1964
Tid O(nlog n)
10Build-Max-Heap
Max-Heapify stierne (eksempel)
Ikke-overlappende stier med samme kanter (højre,
venstre, venstre... )
Tid for Build-Max-Heap S tid for Max-Heapify
røde kanter
røde kanter n - dybde O(n)
Tid O(n)
11Sorterings-algoritmer
Algoritme Worst-Case Tid
Heap-Sort O(nlog n)
Merge-Sort O(nlog n)
Insertion-Sort O(n2)
12Max-Heap operationer
13Max-Heap operation
Operation Worst-Case Tid
Max-Heap-Insert O(log n)
Heap-Extract-Max O(log n)
Max-Increase-Key O(log n)
Heap-Maximum O(1)
n aktuelle antal elementer i heapen
14Prioritetskø
- En prioritetskø er en abstrakt datastruktur der
gemmer en mængde af elementer med tilknyttet
nøgle og understøtter operationerne - Insert(S,x)
- Maximum(S)
- Extract-Max(S)
- Maximum er med hensyn til de tilknyttede nøgler.
- En mulig implementation af en prioritetskø er en
heap.