07.08.2013 Views

Binære Søketre

Binære Søketre

Binære Søketre

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Operasjoner på treet<br />

Sletting av node<br />

10/3/2002<br />

z<br />

15<br />

6 18<br />

3 10<br />

y<br />

2 4 8 13<br />

11<br />

14<br />

17 20<br />

Vi har 3 tilfeller, der z er noden<br />

som skal fjernes.<br />

Tilfelle 3: z har 2 barn<br />

Eksempel z=6<br />

Vi ”presser ut” z<br />

etterfølger y (8), som<br />

har ≤ 1 barn og<br />

Erstatter node z<br />

med node y<br />

Bernt Ingvald Sunde 19<br />

Traversering<br />

Binært <strong>Søketre</strong><br />

10/3/2002 Bernt Ingvald Sunde 21<br />

Traversering : Prefix<br />

10/3/2002<br />

I<br />

D L<br />

B E<br />

A C<br />

G<br />

Rekkefølge<br />

F H<br />

J K<br />

I D B A C E G F H L J K<br />

Rekkefølge<br />

Bernt Ingvald Sunde 23<br />

T<br />

OP TV TH tid<br />

OP: Operator<br />

T V - Venstre subtre<br />

T H - Høyre subtre<br />

TreeWalk(x)<br />

{<br />

print(x)<br />

TreeWalk(left[x])<br />

TreeWalk(right[x])<br />

}<br />

Operasjoner på treet<br />

Sletting av node<br />

10/3/2002<br />

10/3/2002<br />

y<br />

15<br />

8 18<br />

3 10<br />

2 4<br />

13<br />

11<br />

Traversering<br />

14<br />

17 20<br />

Vi har 3 tilfeller, der z er noden<br />

som skal fjernes.<br />

Tilfelle 3: z har 2 barn<br />

Eksempel z=6<br />

Vi ”presser ut” z<br />

etterfølger y (8), som<br />

har ≤ 1 barn og<br />

Erstatter node z<br />

med node y<br />

Bernt Ingvald Sunde 20<br />

Traversering eller ”Tree Walk” er en måte<br />

å besøke nodene i et tre på.<br />

En kan si at en sorterer nodene på en<br />

ønsket eller bestemt måte<br />

Bruker en enkel rekursiv algoritme til å<br />

printe ut denne rekkefølgen<br />

Traversering : Inorder<br />

10/3/2002<br />

I<br />

D K<br />

B E<br />

A C<br />

G<br />

Rekkefølge<br />

F H<br />

Bernt Ingvald Sunde 22<br />

J L<br />

Vi får en sortert rekkefølge<br />

A B C D E F G H I J K L<br />

Rekkefølge<br />

T V OP T H<br />

Bernt Ingvald Sunde 24<br />

T<br />

tid<br />

OP: Operator<br />

T V - Venstre subtre<br />

T H - Høyre subtre<br />

TreeWalk(x)<br />

{<br />

TreeWalk(left[x])<br />

print(x)<br />

TreeWalk(right[x])<br />

}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!