关 键 词:
一个 实现 元素 排序 复杂 其中 那个 而且 最大 logn
堆(heap)是一个很有用的数据结构。堆可以用于实现优先队列。比如一个任务队列,其中中有很多任务,而且不断有新的加进来。要求每次找到其中优先级最高的那个来处理。如果每添加一个就要排序一次的话开销是很大的,时间复杂度为O(nlogn),但实际上我们要的只是其中最大的那个,因此完全没有必要全部排序。堆这种数据结构保证了堆顶的元素始终是最大的。而且每添加一个新元素,或者弹出堆顶元素的时间复杂度仅为O(logn)。即使是有40亿个元素,也最多需要交换32次。排序树(比如二叉搜索树)插入删除的复杂度虽然也是O(logn),但堆算法更简单,常系数也更小。同时,堆可以放在一个扁平的数组中,不用额外的指针来维护结构,所使用的空间也更少。
[下载代码]
相关文章
图文推荐
论 坛 资 源
·用PHP检测字符串是否是utf8编码
·使用php的memcached客户端
·用php写了一个错误处理类
·php打包工具Phar
·php中访问对象protected成员的一种方法
·用PHP&ORACLE遇到的问题
·用Mambo做网站小记
·php模板和MVC
·用PHP破解foxmail密码
·linux上装php
·使用php的memcached客户端
·用php写了一个错误处理类
·php打包工具Phar
·php中访问对象protected成员的一种方法
·用PHP&ORACLE遇到的问题
·用Mambo做网站小记
·php模板和MVC
·用PHP破解foxmail密码
·linux上装php
热门技术文档
·用PHP检测字符串是否是utf8编码
·在我心中的Java和PHP
·使用php的memcached客户端
·用php写了一个错误处理类
·php下aop的一个实现办法
·php打包工具Phar
·php中访问对象protected成员的一种方法
·用PHP&ORACLE遇到的问题
·用Mambo做网站小记
·php模板和MVC
·在我心中的Java和PHP
·使用php的memcached客户端
·用php写了一个错误处理类
·php下aop的一个实现办法
·php打包工具Phar
·php中访问对象protected成员的一种方法
·用PHP&ORACLE遇到的问题
·用Mambo做网站小记
·php模板和MVC
最新图文档
本站编辑推荐:(本站开通Delphi4PHP专区,欢迎进入论坛交流!)
- · 3分钟快速了解 Delphi for PHP 特色 (中文), PDF档
- · 购买Delphi for PHP的五大理由, PDF档
- · Delphi for PHP 使用规格介绍, PDF档
- · Delphi for PHP 問答集 (From CodeGear)
- · Delphi for PHP 产品价格表
编缉最近更新文章
网站赞助商
搜索您感兴趣的内容




