Jak mohu odstranit uzlu z BST?
Musím algoritmus k tomu, že v dr schématu.
Jak mohu odstranit uzlu z BST?
Musím algoritmus k tomu, že v dr schématu.
Za předpokladu, že váš strom binárního vyhledávání používá přímočará zápory buněk s obsahem pouze v listech, a za předpokladu, že se pracuje na domácí úkol: Můžete použít set-car!nebo set-cdr!změnit obsah zápory buňky.
Ty v podstatě hodit BST máte teď, a vytvořit nový sans prvku.
To lze provést rekurzivně sestupně stromu. Pokud váš položka je menší než kořenový vztažný bod, vytvořit BST, jehož kořen a větší než větev je kopírována z toho, co máte nyní, ale jejíž méně než pobočka je výsledek rekurzivní volání.
Je to velmi podobné tomu, jak přidat uzel, ale když se dostanete do té, kterou hledali, sloučit dva BSTs pod ním a vrátí výsledek. Existuje jistě stávající otázky o tom, jak to udělat už.