摘要: 堆,是一个相当重要的数据结构,它是优先队列,堆排序,Dijkstra等算法的实现保证!堆的主要特性是:1、根结点是最大/最小的,而这个主要的区别,就是实现比较操作时是less or greater, 因此可以使用纯虚化 比较接口,把实现放到子类。 附: STL中采用的是模板默认参数的方法实现。2、需要两个表示大小的变量来标定堆or数组的大小。因为pop操作因让堆的有效长度变小,而数组的长度不变。3、堆的插入操作一般是插入到数组的末尾,这里最好用vector, 因为它可以在常数时间内尾插入数据且能够动态生长。 1 #include <vector> 2 #include <os 阅读全文
posted @ 2013-05-27 23:58 xield 阅读(841) 评论(0) 推荐(0) 编辑