BOBO老师,有两个问题望不吝赐教,感谢:
第一个问题:关于二叉搜索树,如果要支持存储重复的元素,是不是只要定义个一个规则,例如左子树的值都小于当前节点,右子树的值都大于等于当前节点(也就是说重复的元素向右子树添加),然后在插入元素的时候按照这个准则就可以了?如果存储重复的元素,我用纸笔简单画了一下,是不是对于floor和ceil的实现与没有重复元素的场景是一致的?
第二个问题:如果支持重复元素的话,AVL树的旋转操作该如何处理呢?比如我依然按照左子树的值都小于当前节点,右子树的值都大于等于当前节点(也就是说重复的元素向右子树添加),如果为了维持平衡进行旋转,貌似就无法满足二叉搜索树的条件了,这个没太想好是怎样处理?
登录后可查看更多问答,登录/注册