1 procedure drzewo następnik(x);
2 begin
3 if x.prawy syn 6= NIL then
4 return drzewo minimum(x.prawy syn);
5 end if;
6 y := x.rodzic;
7 while y != NIL and x = y.prawy syn do
8 x := y;
9 y := y.rodzic;
10 end while;
11 return y;
12 end.
(http://sun.aei.polsl.pl/~sdeor/students/aa/drzewo_nastepnik.pdf)
W tej pierwszej części kodu (do 5 linii) wiem co się dzieje, natomiast dalej to juz nie bardzo...
- po co ten warunek y.prawy_syn = x?
- x=y - po co co x przypisywać jego rodzica?
- sensu 9 linii kodu kompletnie nie rozumiem
- no i dlaczego to wszystko odbywa się w pętli while?