【发布时间】:2015-06-24 13:06:04
【问题描述】:
对不起,如果这是一个非常基本的问题,但我对树木还很陌生,因此,这些天这个疑问困扰着我。
二叉搜索树和平衡二叉搜索树有什么区别?不是每个 BST(二叉搜索树)都已经是 BBST(平衡 BST)了吗?
【问题讨论】:
-
参见this SO post,了解平衡二叉树的精彩讨论。
对不起,如果这是一个非常基本的问题,但我对树木还很陌生,因此,这些天这个疑问困扰着我。
二叉搜索树和平衡二叉搜索树有什么区别?不是每个 BST(二叉搜索树)都已经是 BBST(平衡 BST)了吗?
【问题讨论】:
“平衡”是二叉树可能具有的属性。这通常意味着树中的每个节点在其下的每个子树上具有大致相同数量的后代节点。更具体地说,它意味着树的“高度”已被最小化。
对于不是“平衡”的树,可能有一个所有“左”子节点都为空的二叉树,否则它仍然具有“二叉搜索树”的属性。这被称为退化树,因为它在结构上更像一个链表,因此搜索时间为 O(N) 而不是 O(log(N))。
【讨论】:
不同之处在于平衡二叉树的高度可能最小
【讨论】: