社区
数据结构与算法
帖子详情
“堆肯定是一棵平衡二叉树”请问这句话对吗?
傻瓜学者
2009-10-31 02:26:49
如题。
在下问了很多人了,始终没有一个肯定的回答。
在这里请教各位,谢谢。
...全文
3576
13
打赏
收藏
“堆肯定是一棵平衡二叉树”请问这句话对吗?
如题。 在下问了很多人了,始终没有一个肯定的回答。 在这里请教各位,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liaomingdong
2009-11-27
打赏
举报
回复
昏死,胡说八道,平衡树不是排序树,上面的弄清楚了再来说吧。
傻瓜学者
2009-11-05
打赏
举报
回复
谢谢大家了。
无论大家提出自己的哪种意见,都有分。
PeacefulBY
2009-11-04
打赏
举报
回复
2
堆、树、图、栈和队列等是抽象概念,数组、指针是实现方法,不能因为实现方法的不同而否定抽象概念,因此我认为1楼的观点是错误的,用数组或用指针实现的堆都是树。
其次,堆是这样的树结构:父子关系满足偏序关系(例如大于、小于),并且在堆的建立和维护过程中都是完全二叉树;而平衡二叉树则只需满足以下条件:对于任意子树,其左右子树的深度差小于等于1,平衡二叉树与是否是排序树(查找树)无关,只不过在排序树的建立于维护过程中用得很多(例如AVL树)。
因此,由于始终作为完全二叉树,故堆是平衡二叉树,需要掌握的也就是这点,其他抠字眼的理解就没意思了。
ma3587
2009-11-04
打赏
举报
回复
[Quote=引用 8 楼 hairetz 的回复:]
堆连排序树都不是。
[/Quote]
有道理
猫已经找不回了
2009-11-04
打赏
举报
回复
堆连排序树都不是。
zdeepblue
2009-11-04
打赏
举报
回复
个人觉得还是英语的名词比较清晰,呵呵。
看CS的书还是英语的好
zdeepblue
2009-11-04
打赏
举报
回复
堆是一棵complete binary tree,但不是binary search tree
所以不是balanced BST。
wshcdr
2009-11-04
打赏
举报
回复
堆当然是平衡二叉树
laiguo
2009-11-03
打赏
举报
回复
应该是对的吧,可是我答这题时答错了。
后来看书上堆的定义,非终端结点的值均不大于其左右孩子结点的值。
所以我看来句话是对的
傻瓜学者
2009-11-03
打赏
举报
回复
还有,1楼朋友的说法我确实是第一次听说,很有建设性。可也许出题老师都没想这么多吧。
我特意就你的话在网上找了一下,着实没有查到其它表示堆的方法,可能是不太常用吧。
傻瓜学者
2009-11-03
打赏
举报
回复
这道题的答案是“错”的。(同时不排除答案印错的可能)
这道题我一直认同2楼朋友的观点。
可是我在某一个网站上讨论该问题,有很多人提出这种意见——而且非常肯定:“平衡二叉树必是二叉排序树”。如果这个命题正确,那么这道题就“错”了。
所以这个帖子再最后地顶一下!
sxq310
2009-10-31
打赏
举报
回复
一楼说的有道理,但堆如果用完全二叉树来实现那么其肯定是平衡二叉树。
adfas
2009-10-31
打赏
举报
回复
显然不对。
堆得实现方式太多了。最普遍的是用完全二叉树实现的二叉堆
非常详细的二叉树图文介绍,简单易懂!!!
数据结构系列的文章我们之前已经说过数组,链表,哈希表以及队列等等,上一篇也简单的介绍下了树的概念,从今天开始,我们就进入二叉树的学习,这可是面试官最喜欢的问题之一,务必掌握牢固哦!回顾树的那些事在介绍二叉树之前,我们有必要再来看看关于树的一些关键性概念,毕竟,二叉树也是树嘛。我们首先应该了解的就是树这种数据结构属于非线性结构,然后存储的数据具有一对多的关系,这是最最基本的概念了。几个概念名词要分清 然后我们需要清楚关于树的一个关键性的概念名词。节点:什么是节点呢?这...
二叉树详解
我们首先应该了解的就是树这种数据结构属于非线性结构,然后存储的数据具有一对多的关系,这是最最基本的概念了。 几个概念名词要分清 然后我们需要清楚关于树的一个关键性的概念名词。 节点:什么是节点呢?这个节点也有叫做结点,这两个应该没有区别吧,我看过不少文章,有的叫做节点,有的叫做结点,我觉得节点更加合适,因为我们喜欢使用Node来定义一个节点,Node一般翻译过来就是节点二字。 那啥是节点:简单来说,树结构存储的每一个元素都叫做一个节点。 也就是在树这种结构中存储的元素都叫做节点,然后根据有些节点的
树与二叉树——有关计算的题目
一、题目: 在度为4的树中,若有20个度为4的节点,10个度为3的节点,1个度为2的节点,10个度为1的节点,则树T的叶节点个数是? 这道题是2010年计算机联考真题。我用手算(半蛮力)解出答案是82,结果是对的,但是耗时较长,而且如果数字再大点也不好算了,因此
肯定
存在一种更加高效的方法。 我们知道, 树的节点的个数=树的度+1 于是树的节点个数N = 1 + 20*4 + 10*3 + 1...
数据结构复习题——判断题
数据元素是数据的最小单位F。数据元素是数据的基本单位。数据的逻辑结构是指数据的各数据项之间的逻辑关系F。逻辑结构就是数据元素间的逻辑关系,而不是数据元素内部的数据项之间的关系。二叉排序树又称“二叉搜索树”,是一种左子树比根结点小,右子树比根结点大的特殊二叉树的形式。冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。选择排序、快速排序、希尔排序、
堆
排序不是稳定的排序算法。若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个(1≤j≤i)输出元素是不确定的。
考研数据结构题目——树(持续更新)
一、题目: 在度为4的树中,若有20个度为4的节点,10个度为3的节点,1个度为2的节点,10个度为1的节点,则树T的叶节点个数是? 这道题是2010年计算机联考真题。我用手算(半蛮力)解出答案是82,结果是对的,但是耗时较长,而且如果数字再大点也不好算了,因此
肯定
存在一种更加高效的方法。 我们知道, 树的节点的个数=树的度+1 于是树的节点个数N = 1 + 20*4 + ...
数据结构与算法
33,025
社区成员
35,334
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章