《Algorithms算法》笔记:优先队列(1)——API和初等实现
2016-04-28 21:24
357 查看
1.优先队列的API和初等实现
做一个总结:栈 :先进后出
队列 :先进先出
随机队列 : 随机出
优先队列:每次出来的是最大值或最小值
1.1优先队列的API
优先队列在很多场合都有用,
比如:在大量数据里,如果取前M大的数据(存储不足以存下如此大规模数据),就可以用优先队列(MinPQ来做,类似MaxPQ,只是每次删除最小值)——一直保证队列中只有M个比较大的数据,每次删除超过M个里面的最小值。
1.2初等实现
如果用数组来做,我们可以考虑用排序好的数组或没排序的数组。它们的实现方案都比较简单,但是都有致命的缺点:
排序数组,每次插入的时候需要N的时间复杂度
未排序的数组:每次删除或查找的时候,需要N的时间复杂度
我们的目标是找到一个插入和删除都logN复杂度的数据结构。——二叉堆
相关文章推荐
- windows训练google word2vec
- golang注记
- 创建二维码工具类带logo
- Go之FAQ(一)
- go类型断言
- Win8系统开机进入LOGO界面后就自动重启的三种解决方法
- vim goLang
- django xadmin 插件(3) 列表视图新增自定义按钮
- good
- 树莓派django的安装配置
- Go语言实现工时计算
- Google 如何修复 TrustManager 实施方式不安全的应用
- testlink+vertrigoServ搭建测试用例管理系统
- google network面板用法详解
- django1.8高级视图和URL配置读书笔记
- 介绍bigpipe以及在django上的实现,bigpipedjango实现
- Django Admin 管理工具
- gogs git安装安装地址
- Django 表单
- Django 模型