算法设计中堆中兄弟节点大小无序,为什么?
答案:4 悬赏:50 手机版
解决时间 2021-03-31 19:55
- 提问者网友:沉默的哀伤
- 2021-03-31 08:09
算法设计中堆中兄弟节点大小无序,为什么?
最佳答案
- 五星知识达人网友:荒野風
- 2021-03-31 09:39
可以设计成有序的
全部回答
- 1楼网友:千杯敬自由
- 2021-03-31 13:03
堆的作用只是保证堆结构中每棵子树根节点为最大(或最小),兄弟间没有必要比较大小。
- 2楼网友:动情书生
- 2021-03-31 11:56
因为他们只是和他们的父节点比啊,并没有相互比较,所以兄弟是无序的
- 3楼网友:神的生死簿
- 2021-03-31 11:04
记节点为X,其父节点为Parent(X)。
小顶堆要求满足Parent(X)<=X。
大顶堆要求满足X<=Parent(X)。
在父节点和节点之间满足上述关系,就叫做堆序。
因为堆一般是用来实现优先队列,优先队列只需要取得优先级最大
或者优先级最小的元素。当堆中的任意元素满足上述的堆序时,就可以
保证在堆的顶部取得优先级最大或者最小的元素。而不要关心兄弟节点
之间的关系。即用了较少的约束条件就可以实现优先队列。
既然只需要考虑节点和其父节点之间的关系就可以在堆顶取得想要的
元素,为何还要加上多余的约束条件。
小顶堆要求满足Parent(X)<=X。
大顶堆要求满足X<=Parent(X)。
在父节点和节点之间满足上述关系,就叫做堆序。
因为堆一般是用来实现优先队列,优先队列只需要取得优先级最大
或者优先级最小的元素。当堆中的任意元素满足上述的堆序时,就可以
保证在堆的顶部取得优先级最大或者最小的元素。而不要关心兄弟节点
之间的关系。即用了较少的约束条件就可以实现优先队列。
既然只需要考虑节点和其父节点之间的关系就可以在堆顶取得想要的
元素,为何还要加上多余的约束条件。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯