Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel 21.2-21.3] Gerth Stølting Brodal Aarhus Universitet.

Lignende præsentationer


Præsentationer af emnet: "Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel 21.2-21.3] Gerth Stølting Brodal Aarhus Universitet."— Præsentationens transcript:

1 Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel 21.2-21.3] Gerth Stølting Brodal Aarhus Universitet

2 Union-Find MakeSet(S,x) Union(x,y) FindSet(x) Opret en ny mængde { x } Erstat S x ={...x... } S y ={...x... } med S x U S y ={...x...y... } Retuner en repræsentant for S x ={...x... } FindSet(x)=FindSet(y) hvis og kun hvis x og y er i samme mængde

3 Trærepræsentation (I) Mængde = enkelt kædet liste MakeSet = lav en ny knude FindSet = retuner sidste knude Union = konkatener listerne MakeSet(S,x)O(1) Union(x,y)O(|S x |+|S y |) FindSet(x)O(|S x |)

4 Trærepræsentation (II) Mængde = enkelt kædet liste MakeSet = lav en ny knude FindSet = retuner sidste knude Union = konkatener listerne og opdater pointerne MakeSet(S,x)O(1) Union(x,y)O(min(|S x |,|S y |)) FindSet(x)O(1)

5 Sekvens af Union Sætning Et sekvens af n union operationer tager tid højest O(n·log n) Bevis Hver pointer flyttes højest log n gange (hver gang til en liste der mindst er dobbelt så stor)

6 Trærepræsentation Union Mængde = træ MakeSet = lav en ny knude FindSet = retuner roden Union = Sæt det ”lille” træ under roden af det ”store” træ

7 Stikomprimering

8 Analyse af Trærepræsentation med Stikomprimering Sætning En sekvens af m Union-Find operation på n elementer tager tid O(m·α(n)) hvor α(n) er den Inverse til Ackerman funktionen ([CLRS], kapitel 21.4) som for alle praktiske formål α(n)≤4.


Download ppt "Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel 21.2-21.3] Gerth Stølting Brodal Aarhus Universitet."

Lignende præsentationer


Annoncer fra Google