1 / 14

Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6]

Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6]. Gerth Stølting Brodal. Merge-Sort (Eksempel på Del-og-kombiner). A. sorteret. sorteret. n. p. q. q +1. r. 1. I starten kaldes Merge-Sort ( A ,1, n ). p. k. q. r. n. 1. A. }. }. sorteret.

wayne
Download Presentation

Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6]

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation 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) A sorteret sorteret n p q q+1 r 1 I startenkaldesMerge-Sort(A,1,n)

  3. p k q r n 1 A } } sorteret sorteret n2 n1 kopi } R  sorteret flet n2+1 j 1 L  sorteret n1+1 1 i

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

  5. Heap-Sort

  6. Binær (Max-)Heap 19 1 17 16 heap-order 12 ≤ 17 2 3 12 9 15 1 4 5 6 7 2 11 7 3 10 14 8 9 10 11 12 13 Williams, 1964

  7. Max-heap : Egenskaber • Roden : knude 1 • Børn til knude i : 2i og 2i+1 • Faren til knude i: └i / 2┘ • Dybde : 1+└log2n┘ ( n= antal elementer) 19 1 17 16 2 3 12 9 15 1 4 5 6 7 2 11 7 3 10 14 8 9 10 11 12 13

  8. 5 17 16 12 9 15 1 2 11 7 3 10 14 17 12 16 11 9 15 1 2 5 7 3 10 14 Max-Heapify Før Efter Tid O(log n)

  9. Heap-Sort Floyd, 1964 Williams, 1964 Tid O(n·log n) Max-Heap sorteret

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

  11. Sorterings-algoritmer

  12. 19 1 17 16 2 3 12 9 15 1 4 5 6 7 2 11 7 3 10 14 8 9 10 11 12 13 Max-Heap operationer

  13. Max-Heap operation 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 implementationaf en prioritetskø er en heap.

More Related