Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal.

Lignende præsentationer


Præsentationer af emnet: "Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal."— Præsentationens transcript:

1 Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal

2 Merge-Sort (Eksempel på Del-og-kombiner) pqq+1r 1 n A sorteret I starten kaldes M ERGE -S ORT (A,1,n)

3 n A p qr 1 L R } } n1n1 n2n2   n 2 +1 n 1 +1 1 1 j i } k kopi flet sorteret

4 Merge-Sort : Analyse Rekursionstræet Observation Samlet arbejde per lag er O(n) O(n · # lag) = O(n · log 2 n) Arbejde

5 Heap-Sort

6 Binær (Max-)Heap Williams, 1964 heap-order 12 ≤ 17 2117314 129 17 10 151 16 19 1 23 4567 8910111213

7 Max-heap : Egenskaber Roden : knude 1 Børn til knude i : 2i og 2i+1 Faren til knude i : └ i / 2 ┘ Dybde : 1+ └ log 2 n ┘ ( n = antal elementer) 2117314 129 17 10 151 16 19 1 23 4567 8910111213

8 Max-Heapify Tid O(log n) Før Efter 2117314 129 17 10 151 16 5 27314 9 10 151 16 5 11 12 17

9 Heap-Sort Floyd, 1964 Williams, 1964 Tid O(n·log n) 76513481011 i = A.heap-size A.length sorteretMax-Heap

10 Build-Max-Heap Tid O(n) Tid for Build-Max-Heap = Σ tid for Max-Heapify = # røde kanter Max-Heapify stierne (eksempel)Ikke-overlappende stier med samme #kanter (højre, venstre, venstre... ) ≤ # røde kanter = n - dybde = O(n)

11 Sorterings-algoritmer AlgoritmeWorst-Case Tid Heap-Sort O(n·log n) Merge-Sort Insertion-Sort O(n 2 )

12 Max-Heap operationer 2117314 129 17 10 151 16 19 1 23 4567 8910111213

13 Max-Heap operation OperationWorst-Case Tid Max-Heap-Insert O(log n) Heap-Extract-Max Max-Increase-Key Heap-Maximum O(1) n = aktuelle antal elementer i heapen

14 Prioritetskø 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.


Download ppt "Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal."

Lignende præsentationer


Annoncer fra Google