nie chciałbym zakładać nowego tematu, a mam pytanie do 3 krótkich zadanek, więc może ktoś mi pomoże.
1.) Sprawdź ile jest elementów równych x w drzewie poszukiwań binarnych nie przechodząc całego drzewa.
2.) Dana jest posortowana rosnąco lista sprawdź ile jest w niej elementów większych od a i mniejszych od b
3.) usun element X z kopca typu MIN
1.) while key[x] < key
x<-right[x]
i=0
return BSTinorder(x,i)
BSTinorder(x,i)
if(x != nill )
BSTinorder(left[x])
i++
BSTinorder(right[x])
return i
2.) SPR(root)
licznik=0;
if(key[x] > a && key[x] < b) licznik++
while next[x] != nill
if key[next[x]] > a && key[next[x]] < b
licznik++
x<-next[x]
return licznik
3.) mam tu wywołać inorder dla korzenia i szukać elementu równego x ? czy może - to przecież struktura tablicowa - posortować np. qs i za pomocą dziel i zwyciężaj znaleźć ten element x i go usunąć co nie będzie łatwe przy kopcu bo musiał bym wywołać procedure budującą kopiec i przywracająca jego własności.