给定二进制搜索树中的一组数据(如数字1到10),是否可能存在多个平衡的二进制搜索树?

还是针对该组数据只有一个唯一的平衡BST?

谢谢

最佳答案

所有这些都取决于所使用的特定二叉树数据结构,插入算法,平衡标准和插入顺序,但是可以-对于给定的值序列,可以具有多个等效且有效的平衡BST。

例如,这是一个有效的Red/Black Tree,其中数字1-10以升序插入:

另一方面,这是有效的AVL Tree,其中数字1-10的插入顺序与红色/黑色树中的顺序完全相同:

显然,树并不完全相同-但两者的排序和平衡属性均成立。

关于algorithm - 对于给定的数据集,可能有多个有效的BST吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16765383/

10-11 15:14