首页 数码 查看内容

堆序列怎么判断

2022-12-20 00:32| 发布者: zxw777| 查看: 132| 评论: 0

摘要: 要将这个序列看成数组型的二叉树,二叉树上端父节点的数字要比下端左右子节点的数字大或者小,那么这个序列就可以看作是一个堆。 n个元素的序列{k1,k2,ki,…,kn}当且仅当满足上述关系时,称之为堆。 堆是计算机科学 ...

要将这个序列看成数组型的二叉树,二叉树上端父节点的数字要比下端左右子节点的数字大或者小,那么这个序列就可以看作是一个堆。

n个元素的序列{k1,k2,ki,…,kn}当且仅当满足上述关系时,称之为堆。

堆是计算机科学中一类特殊的数据结构的统称,我们通常将堆看成一棵树的数组对象。

堆分为最大堆和最小堆,两者的差别在于节点的排序方式不同。在最大堆中,父节点的数值要比每一个子节点的数值都要大。在最小堆中,父节点的数值要比每一个子节点的数值都要小,这就是堆的属性,并且这个属性对堆中的每一个节点都成立。根据这一个属性,我们就可以了解到,在最大堆中总是将其中的最大值放在二叉树的根节点,而对于最小堆,根节点的数值是二叉树中的最小值。堆的属性特别的有用,所以堆常常被当做优先队列使用,因为可以快速的访问到“最重要”的 元素。

注意:堆的根节点中放置的是最大或者最小元素,但是其它节点的排序是未知的,唯一能够保证的是最小的元素是一个叶节点,但是不确定是哪一个。

网站公告X

【重大通知变更说明】

影响卡顿及收录的说明调整...

点击查看详细说明

手机版|小黑屋|中享网 ( 滇ICP备16008358号-6|滇公网安备53011102001243号 )

GMT+8, 2025-9-22 22:22 , Processed in 1.724577 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.