接受的答案可以制作一個完美的樹(這也是一個完整的樹)。雖然它不能在不完美的情況下制作一個完整的樹。不過,這是對我的要求最接近的答案。為了讓競爭變得不完美,您可以移除樹最右邊的葉子。1.問題:試圖將 aBinary Search Tree變成Complete Binary Search Tree. 我可以找到很多 a 的代碼示例Complete Binary Tree,但沒有Complete Binary Search Tree。插入作為二叉搜索樹應該工作。但是這種插入方式并不是完全樹。如果我添加一堆隨機數(shù),它不會是一個完整的樹。我怎樣才能使代碼插入到樹,但同時是一個完整的二叉搜索樹?我將不勝感激代碼示例。我覺得從理論上理解它一點也不難,但很難用代碼實現(xiàn)它。2. 我試過的:以層級順序添加節(jié)點。While 循環(huán)“只要高度不是 6 就插入,并且除葉子之外的所有節(jié)點都是完整節(jié)點”?!叭绻荡笥诟讣壡易笞蛹壊粸榭?,則僅添加到右子級”。Arrays并LinkedLists添加自。3.我如何插入:private BinaryNode<AnyType> insert( AnyType x, BinaryNode<AnyType> t ){ if( t == null ) return new BinaryNode<>( x, null, null); int compareResult = x.compareTo( t.element ); if (compareResult < 0) t.left = insert(x, t.left); else if (compareResult > 0) t.right = insert(x, t.right); else ; // Duplicate; do nothing return t;}的AnyType是將被插入的值,則BinaryNode是當前節(jié)點。4. 程序能做什么:插入和移除。查找高度、最小值、最大值或特定節(jié)點。Preorder、Postorder、Levelorder 和 Inorder 搜索。獲取完整節(jié)點數(shù)、所有節(jié)點數(shù)和葉子數(shù)。
添加回答
舉報
0/150
提交
取消