Jak usunąć z binarnego drzewa wyszukiwania w Lisp

głosy
1

Jak mogę usunąć węzeł z BST?

Potrzebuję algorytm to zrobić w Dr. schemacie.

Utwórz 07/12/2010 o 09:09
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
2

Zakładając wyszukiwanie binarne drzewo wykorzystuje proste minusy komórki z zawartością tylko w liściach, a zakładając, że pracuje na odrabianie zadania: Można użyć set-car!lub set-cdr!zmienić zawartość komórki cons.

Odpowiedział 07/12/2010 o 14:51
źródło użytkownik

głosy
3

Zasadniczo wrzucić BST masz teraz, i utworzyć nowy sans elementu.

Można to zrobić przez rekurencyjnie malejąco drzewa. Jeśli pozycja jest niższa niż punkt odniesienia root utwórz BST którego korzeń i większa niż oddziale jest kopiowany z tego, co masz teraz, ale którego mniej niż oddział jest wynikiem z rekurencyjnego wywołania.

Jest bardzo podobny do tego, jak dodać węzeł, ale kiedy się do tego szukali, scalić dwa BSTS poniżej niego i zwraca wynik. Są to z pewnością istniejące pytania o jak to zrobić już.

Odpowiedział 08/12/2010 o 03:09
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more