码迷,mamicode.com
首页 > 其他好文 > 详细

第12章 堆

时间:2014-06-01 05:01:13      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:数据结构      

来自维基百科


(英语:heap) 亦被称为:优先队列(英语:priority queue),是计算机科学中一类特殊的数据结构的统称。

堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因而实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。

逻辑定义

n个元素序列{k1,k2...ki...kn},当且仅当满足下列关系时称之为堆:
(ki <= k2i,ki <= k2i+1)或者(ki >= k2i,ki >= k2i+1), (i = 1,2,3,4...n/2)

堆支持以下的基本操作:

  • build:建立一个空堆;
  • insert:向堆中插入一个新元素;
  • update:将新元素提升使其符合堆的性质;
  • get:获取当前堆顶元素的值;
  • delete:删除堆顶元素;
  • heapify:使删除堆顶元素的堆再次成为堆。

第12章 堆,布布扣,bubuko.com

第12章 堆

标签:数据结构      

原文地址:http://blog.csdn.net/huangbin10025/article/details/27826411

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!