繁体   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