我知道二进制搜索树是什么,我知道它们是如何工作的。但它成为一棵歪树需要什么呢?我的意思是,所有节点都必须放在一边吗?或者还有其他组合吗?
拥有这种形状的树(见下文)是使它成为歪斜树的唯一方法吗?如果没有,那么其他可能的歪斜树木是什么?
倾斜的树例子:
此外,我搜索过但无法找到偏斜树的良好定义。有没有人有一个好的定义?
答案 0 :(得分:0)
想出一棵偏斜的树是树的最坏情况。
` 排列数为1,2,... n = n!
BST形状的数量:(1 / n + 1)(2n!/ n!n!)
倾斜树的数量为1,2,.... n = 2 ^(n-1)
` 这是我看到的一个例子: http://i61.tinypic.com/4gji9u.png
答案 1 :(得分:0)
偏斜树的一个好定义是二叉树,这样除了一个节点之外的所有节点都只有一个子节点。 (其余节点没有子节点。)另一个好的定义是n个节点的二叉树,其深度为n-1。
答案 2 :(得分:0)
二元树仅由左子节点或右子节点控制,称为倾斜二叉树,更具体地说是左倾斜二叉树或右倾斜二叉树。
答案 3 :(得分:-3)
其中左子树的节点仅具有左子节点的树称为偏斜左树 右子树的节点中只有右孩子的树称为偏右树。