zoukankan      html  css  js  c++  java
  • 《Algorithms算法》笔记:优先队列(1)——API和初等实现

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

    做一个总结:

    栈 :先进后出
    队列 :先进先出
    随机队列 : 随机出
    优先队列:每次出来的是最大值或最小值

    1.1优先队列的API

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

    1.2初等实现

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


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

    排序数组,每次插入的时候需要N的时间复杂度
    未排序的数组:每次删除或查找的时候,需要N的时间复杂度
    我们的目标是找到一个插入和删除都logN复杂度的数据结构。——二叉堆

  • 相关阅读:
    前台Json格式中时间的格式转换
    存储过程
    自定义注解
    递归(累加)
    java操作符
    Markdown语法参考
    for表达式的循环执行顺序
    java形参与作用域
    java引用类型数组的创建方式
    学习总结之Log4NET
  • 原文地址:https://www.cnblogs.com/voidsky/p/5490792.html
Copyright © 2011-2022 走看看