14
HUSK EKSAMENSTILMELDING Frist: 15. februar

HUSK EKSAMENSTILMELDING Frist: 15. februar

  • Upload
    zytka

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

HUSK EKSAMENSTILMELDING Frist: 15. februar. 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 ). - PowerPoint PPT Presentation

Citation preview

Page 1: HUSK EKSAMENSTILMELDING Frist: 15. februar

HUSK EKSAMENSTILMELDING

Frist: 15. februar

Page 2: HUSK EKSAMENSTILMELDING Frist: 15. februar

Algoritmer og Datastrukturer 1

Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6]

Gerth Stølting Brodal

Page 3: HUSK EKSAMENSTILMELDING Frist: 15. februar

Merge-Sort(Eksempel på Del-og-kombiner)

p q q+1 r1 n

A sorteret sorteret

I starten kaldes MERGE-SORT(A,1,n)

Page 4: HUSK EKSAMENSTILMELDING Frist: 15. februar

n

Ap q r1

L

R

} }

n1 n2

n2+1

n1+1

1

1

i

j

}

k

kopi

fletsorteret

sorteret

sorteretsorteret

Page 5: HUSK EKSAMENSTILMELDING Frist: 15. februar

Merge-Sort : AnalyseRekursionstræet

ObservationSamlet arbejde per lag er O(n)

O(n · # lag) = O(n · log2 n)Arbejde

Page 6: HUSK EKSAMENSTILMELDING Frist: 15. februar

Binær (Max-)Heap

2 11 7 3 14

12 9

17

10

15 1

16

19

1

2 3

4 5 6 7

8 9 10 11 12 13

19 17 16 12 9 15 1 2 11 7 3 10 141 2 3 4 5 6 7 8 9 10 11 12 13

Williams, 1964

Page 7: HUSK EKSAMENSTILMELDING Frist: 15. februar

Max-heap : Egenskaber

• Roden : knude 1• Børn til knude i : 2i og 2i+1

• Faren til knude i : └i / 2┘

• Dybde : 1+└log2 n┘

( n = antal elementer)

2 11 7 3 14

12 9

17

10

15 1

16

19

1

2 3

4 5 6 7

8 9 10 11 12 13

Page 8: HUSK EKSAMENSTILMELDING Frist: 15. februar

Max-Heapify

Tid O(log n)

2 11 7 3 14

12 9

17

10

15 1

16

5

2 7 3 14

9

10

15 1

16

5

11

12

17

Før

Efter

Page 9: HUSK EKSAMENSTILMELDING Frist: 15. februar

Heap-Sort

Floyd, 1964

Williams, 1964

Tid O(n·log n)

Page 10: HUSK EKSAMENSTILMELDING Frist: 15. februar

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)

Page 11: HUSK EKSAMENSTILMELDING Frist: 15. februar

Sorterings-algoritmer

Algoritme Worst-Case Tid

Heap-SortO(n·log n)

Merge-Sort

Insertion-Sort O(n2)

Page 12: HUSK EKSAMENSTILMELDING Frist: 15. februar

Max-Heap operationer

2 11 7 3 14

12 9

17

10

15 1

16

19

1

2 3

4 5 6 7

8 9 10 11 12 13

Page 13: HUSK EKSAMENSTILMELDING Frist: 15. februar

Max-Heap operation

Operation Worst-Case Tid

Max-Heap-Insert

O(log n)Heap-Extract-Max

Max-Increase-Key

Heap-Maximum O(1)

n = aktuelle antal elementer i heapen

Page 14: HUSK EKSAMENSTILMELDING Frist: 15. februar

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.