摘要:
最大堆/最小堆 堆的定义是:n个元素的序列{k1,k2,…,kn},当且仅当满足如下关系时被成为堆 (1)Ki= k2i且 ki>= k2i-1 (i = 1,2,…[n/2])当满足(1)时,为最小堆,当满足(2)时,为最大堆。 若将此序列对应的一维数组堪称是一个完全二叉树... 阅读全文
摘要:
堆排序 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=... 阅读全文