algorithm
  • README
  • 算法题目
    • Page 1
  • 算法基础
    • 堆(大/小顶堆 、优先队列)
      • swift
      • js
      • C++
    • 哈希表(HashTable)
      • 线性探测
        • 稠密哈希表
        • 密集探测哈希表vs线性探测哈希表
      • C拉链法
        • 拉链法是否需要根据负载因子扩容?
      • set的实现
      • map的实现
    • 二叉树
      • 类型
        • AVL树和红黑树的关系与区别比较
      • 存储方式
      • 遍历
        • 前中后序遍历(深度)
          • 递归方式
          • 迭代法
        • 层次遍历(广度)
      • 二叉搜索树
        • 基本概念
        • 代码实现
      • AVL树
        • 基本概念
        • 代码实现
        • 疑问
          • AVL为什么LL的时候右转呢?
          • AVL树中的LR的情况
          • AVL树的调整
          • 删除节点的逻辑
      • 红黑树
        • 基本概念
        • 代码实现
        • 疑问
          • 红黑树和AVL的关系与区别
          • 红黑树和哈希表的关系与区别
          • 为什么有红黑树,比AVL优势在哪里?
    • 运算符
      • 交换两个数(不用临时变量)
  • leetcode结构
    • Javascript
      • 优先队列
    • C++
  • 公司面试题目
    • 汇丰银行
      • 跑步同一个脚印问题
      • 销售系统问题
Powered by GitBook
On this page
  • 基本功能
  • 0、初始化空队列
  • 1、插入队列
  • 2、弹出队列顶点元素
  • 3、获取队列中优先级最高的元素
  • 4、是否为空
  • 5、大小
  1. leetcode结构
  2. Javascript

优先队列

MaxPriorityQueue 大顶堆/ 大优先队列
MinPriorityQueue 小顶堆/ 小优先队列

基本功能

0、初始化空队列

const maxPQ = new MaxPriorityQueue();

1、插入队列

enqueue(element, priority)

  • 描述:将元素插入到优先队列中,并指定其优先级。

  • 参数:

    • element:要插入的元素。

    • priority:该元素的优先级(可选,默认为元素的值)。

   maxPQ.enqueue(3);
   maxPQ.enqueue(1, 10);
   maxPQ.enqueue(5, 20);

2、弹出队列顶点元素

dequeue()

  • 描述:移除并返回优先队列中优先级最高的元素。

  • 返回值:包含被移除元素的对象 { element, priority }。

   const maxElement = maxPQ.dequeue().element;
   console.log(maxElement);  // 输出:5

3、获取队列中优先级最高的元素

front()

  • 描述:返回优先队列中优先级最高的元素,但不移除它。

  • 返回值:包含优先级最高元素的对象 { element, priority }。

   const frontElement = maxPQ.front().element;
   console.log(frontElement);  // 输出:5

4、是否为空

isEmpty()

  • 描述:检查优先队列是否为空。

  • 返回值:布尔值,true 表示队列为空,false 表示队列不为空。

   const isEmpty = maxPQ.isEmpty();
   console.log(isEmpty);  // 输出:false

5、大小

size()

  • 描述:返回优先队列中元素的数量。

  • 返回值:优先队列中元素的数量。

   const size = maxPQ.size();
   console.log(size);  // 输出:
PreviousJavascriptNextC++

Last updated 8 months ago