簡體   English   中英

二進制搜索樹將節點乘以-1

[英]Binary Search Tree Multiply nodes by -1

考慮到您有Binary Search Tree ,如果multiply all nodes by -1那么有人可以讓我知道它是否仍然是Binary Search Tree嗎?

是否可以編寫將其轉換回Binary Search Tree的函數?

在二叉搜索樹中,節點的左子樹的所有元素必須小於(或在某些樹中),並且節點的右子樹的所有元素必須大於(或在某些樹中)節點。 如果將所有節點乘以-1,最終將其翻轉,以使每個節點的左側子樹存儲較大的值,而右側子樹存儲較小的值。 要將其轉換回BST,您必須通過鏡像來“翻轉” BST。 在練習中,我將保留如何執行此操作的詳細信息。 這是一個經典的CS問題,帶有精美的遞歸解決方案。

希望這可以幫助!

有趣的問題。

Binary Search Tree ,對象圖的結構指示排序順序。

通過將所有對象乘以-1,現在將其反向排序。

例如:

3 4 8 9 12 

-3 -4 -8 -9 -12

那么,如何使它仍然保持Binary Search Tree屬性?

一棵二叉樹將由兩件事組成:一個對象節點圖,以及有關如何比較這些對象的知識。 比較功能如下所示:

 Compare(left, right) {
     return (left < right);
 }

如果對二進制樹中的值執行轉換,則可以更改其比較函數,然后它將繼續按應有的方式運行。

 myBinaryTree.comparisonFunction = function(left, right) { return (right < left) };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM