Muszę stworzyć wyszukiwania binarne drzewo w następujący sposób (obcym):
Ja podano tablicy (A [n]). A [1] stanie się źródłem drzewa.
Wtedy wkładka A [1] + A [2] w lewo subtree (subtree1, stosowany poniżej) korzenia, a także wkładka A [1] -A [2] w odpowiednim poddrzewem (subtree2) korzenia.
Wstawić [1] + A [2] + A [3] w lewo poddrzewie subtree1 (subtree3) i A [1] + A [2] -A [3] w odpowiednim poddrzewie subtree1 (subtree4).
Wtedy wkładka A [1] -A [2] + A [3] w lewo poddrzewie subtree2 (subtree5) i [1] -A [2] -A [3] w odpowiednim poddrzewie subtree2 (subtree6 ).
Powtarzam za subtree3, subtree4, subtree5, subtree6 dopóki nie dotrze do końca tablicy.
Tak więc, w zasadzie, pierwszy element tablicy staje się korzeniem drzewa, a potem ruszyć w dół: Każdy lewe poddrzewo ma do wartości sumy jego rodzica plus następny element tablicy i każdego prawego poddrzewa jest dla wartości różnicy jego dominująca i następnego elementu tablicy.
Rozumiem, że muszę używać koncepcję rekursji ale w zmodyfikowanej sposób. Wpisanie mój problem tu i próbuje wytłumaczyć to komuś innemu oprócz mojego mózgu rzeczywiście mnie tworząc go w sposób, który dał mi kilka pomysłów, aby spróbować, ale widzę problem mam do czynienia z bycia zwykle problem, więc może mógłbyś dać mi kilka wskazówek, w jaki sposób korzystać z rekurencji do budowy drzewa.
Rozglądając się w innych pytań i dyskusji Rozumiem, że jest to polityka wobec prosząc całych rozwiązań, więc chciałem, aby było jasne, że nie jestem z prośbą o rozwiązanie, ale dla wytycznych do niego. Jeśli ktoś chciałby rzucić okiem mogę pokazać, co już robiłem.













