当前位置:   article > 正文

数据结构-优先队列_优先队列查找元素的时间复杂度

优先队列查找元素的时间复杂度

优先队列的类定义

优先队列是0个或多个元素的集合,每个元素都有一个优先权或值,对优先队列执行的操作有1) 查找;2) 插入一个新元素;3)
删除.在最小优先队列(min priority
queue)中,查找操作用来搜索优先权最小的元素,删除操作用来删除该元素;对于最大优先队列(max priority
queue),查找操作用来搜索优先权最大的元素,删除操作用来删除该元素.优先权队列中的元素可以有相同的优先权,查找与删除操作可根据任意优先权进行.

面试题:

优先队列通常采用(1)的数据结构实现,向队列中插入1个元素的时间复杂度为(2)

ans:
1.堆
2.O(logN)

解析:优先队列是一种常用的数据结构,通常用堆实现,也可以用其他方式实现。
对应于大顶堆和小顶堆,存在最大优先队列和最小优先队列。以最大优先队列为例,优先队列除了具有堆上的一些操作,如调整堆, 构建堆之外,还有获得优先队列的最大元素,抽取出优先队列的最大元素,向优先队列中插入一个元素和增大优先队列中某个元素的值。
其中除了获得优先队列的最大元素的时间复杂度是O(1)之外,其他操作均为二叉树的高度O(lgN)

详细请见:http://blog.csdn.net/changyuanchn/article/details/14564403#comments

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/446450
推荐阅读
相关标签
  

闽ICP备14008679号