Binære Søketre
Binære Søketre
Binære Søketre
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 />
}