首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >平衡二叉树有唯一的形式吗?

平衡二叉树有唯一的形式吗?
EN

Stack Overflow用户
提问于 2016-06-03 07:20:01
回答 3查看 1.8K关注 0票数 1

平衡二叉树有唯一的形式吗?例如,节点列表1、2、3、4、5

以下两种形式似乎都符合平衡二叉树的定义。他们都是对的吗?

代码语言:javascript
运行
复制
    2
   / \ 
  1   4
     / \
    3   5
代码语言:javascript
运行
复制
    3
   / \
  1   4
   \   \
    2   5
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-03 07:23:07

不是的。没有,一个平衡的树可能有不同的顺序,根据操作的顺序来达到它。此外,有多种方法来实现自平衡树(红黑AVL张扬) --所有结果(通常)都在不同的树中进行。

一个简单的反例,在AVL树上有两个节点:

代码语言:javascript
运行
复制
insert(1)
insert(2)

将导致不需要再平衡,而树将:

代码语言:javascript
运行
复制
1
 \
  \
   2

如果你反过来这么做的话:

代码语言:javascript
运行
复制
insert(2)
insert(1)

同样,不需要再平衡,但结果树将是:

代码语言:javascript
运行
复制
     2
   /
  /
 1

这两种树都是具有相同元素的有效AVL树,但正如您所看到的--表单并不是唯一的。

票数 4
EN

Stack Overflow用户

发布于 2016-06-03 07:22:54

平衡二叉树或二叉树的结构在很大程度上取决于你提供给它的数据序列。

票数 2
EN

Stack Overflow用户

发布于 2016-06-03 14:16:37

使用自平衡二叉树,您将生成一个唯一的表单;如果您有相同的数据序列,那么在您的示例中是1、2、3、4、5。

代码语言:javascript
运行
复制
   2
   / \ 
  1   4
     / \
    3   5
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37608271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档