堆序列怎么判断 堆的序列判断

【堆序列怎么判断 堆的序列判断】

堆序列怎么判断 堆的序列判断



要将这个序列看成数组型的二叉树,二叉树上端父节点的数字要比下端左右子节点的数字大或者小 , 那么这个序列就可以看作是一个堆 。
n个元素的序列{k1,k2 , ki,…,kn}当且仅当满足上述关系时,称之为堆 。
堆是计算机科学中一类特殊的数据结构的统称,我们通常将堆看成一棵树的数组对象 。
堆分为最大堆和最小堆,两者的差别在于节点的排序方式不同 。在最大堆中,父节点的数值要比每一个子节点的数值都要大 。在最小堆中,父节点的数值要比每一个子节点的数值都要?。?这就是堆的属性,并且这个属性对堆中的每一个节点都成立 。根据这一个属性,我们就可以了解到,在最大堆中总是将其中的最大值放在二叉树的根节点,而对于最小堆,根节点的数值是二叉树中的最小值 。堆的属性特别的有用,所以堆常常被当做优先队列使用,因为可以快速的访问到“最重要”的元素 。
注意:堆的根节点中放置的是最大或者最小元素,但是其它节点的排序是未知的 , 唯一能够保证的是最小的元素是一个叶节点,但是不确定是哪一个 。

    推荐阅读