Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

INF 295 forelesning 13 - kap 6 Andre prioritetskøer Hans Fr. Nordhaug (Ola Bø)

Liknende presentasjoner


Presentasjon om: "INF 295 forelesning 13 - kap 6 Andre prioritetskøer Hans Fr. Nordhaug (Ola Bø)"— Utskrift av presentasjonen:

1 INF 295 forelesning 13 - kap 6 Andre prioritetskøer Hans Fr. Nordhaug (Ola Bø)

2 Andre prioritetskøer d-heap Leftist (venstre) heap Skew heap Binomial køer

3 D-heap Hver node har D barn. (Binære heap er en 2- heap.) Forbedret innsetting (logd N), men forverret sletting (d logd N). Kan fortsatt bruke array, men mindre effektivt siden vi ikke kan bruke bit-skift. (Hva med 4- heap?) Ekvivalent til B-trær hvis minne er for lite.

4 Fletting Fletting (merge) av heap effektivt krever bruk av lenka liste. Vi har datastrukturer som egner seg for fletting – leftist heap.

5 Leftist heap Vanlig ordningsegenskap, men annen struktur – så ubalansert som mulig. Nullstilengde (null path length/npl) er korteste sti til en node uten 2 barn. For hver node, nullstilengden for venstre barn må være minst så stor som for høyre barn. Alle operasjoner i høyre tre som er kort. Innsetting/fletting kan ødelegge struktur.

6 Leftist heap forts. Regler: 1. Node med et barn eller ingen barn, har 0 som nullstilengde. 2. Nullstilengden til en forelder er minimum av barnas nullstilengder + 1. NB! Regel 1 overstyrer 2 hvis det er konflikt.

7 Leftist operasjoner Innsetting = flette med nytt tre som kun inneholder den nye noden Sletting = fjerne rota og flette de to trærne som oppstår Fletting er hovedoperasjon Alle operasjoner er log N fordi arbeidet skjer i høyre undertre.

8 Fletting Heap med største rot, flettes rekursivt med høyre undertre av den andre heapen. La den nye heapen være høyre barn av heapen med minst rot. Bytt høyre og venstre undertre hvis nødvendig. Må oppdatere nullstilengdene hvis ikke holder ikke kjøretid.

9

10

11

12 Skew heap Selvjusterende versjon av leftist heap. (Splay vs AVL trær.) Samme operasjoner som leftist heap. Samme implementasjon unntatt: Når man fletter bytter man høyre og venstre barn uansett – ingen sjekk på nullstilengde.

13 Binomial køer Skog/samling av heaper – binomial tre. Binomial tre Bk har 2^k noder og bygges ved å feste to binomial trær for k-1 sammen. Hvis kun et tre av hver størrelse, kan vi representere hvilken som helst størrelse unikt.

14

15


Laste ned ppt "INF 295 forelesning 13 - kap 6 Andre prioritetskøer Hans Fr. Nordhaug (Ola Bø)"

Liknende presentasjoner


Annonser fra Google