您的位置:首页 > 编程语言 > Go语言

《Algorithms算法》笔记:优先队列(1)——API和初等实现

2016-04-28 21:24 357 查看

1.优先队列的API和初等实现

做一个总结:


栈 :先进后出

队列 :先进先出

随机队列 : 随机出

优先队列:每次出来的是最大值或最小值


1.1优先队列的API



优先队列在很多场合都有用,

比如:在大量数据里,如果取前M大的数据(存储不足以存下如此大规模数据),就可以用优先队列(MinPQ来做,类似MaxPQ,只是每次删除最小值)——一直保证队列中只有M个比较大的数据,每次删除超过M个里面的最小值。



1.2初等实现

如果用数组来做,我们可以考虑用排序好的数组或没排序的数组。



它们的实现方案都比较简单,但是都有致命的缺点:


排序数组,每次插入的时候需要N的时间复杂度

未排序的数组:每次删除或查找的时候,需要N的时间复杂度

我们的目标是找到一个插入和删除都logN复杂度的数据结构。——二叉堆



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: