堆(大/小顶堆 、优先队列)

大顶堆、小顶堆

优先队列 是基于堆来实现的

定义

大顶堆、小顶堆, 就是看顶点是大的数字还是小的数字。

基本功能

1、插入队列

2、弹出队列顶点元素

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

4、是否为空

5、大小

总结

大顶堆用于实现最大优先队列(Max-Heap),小顶堆用于实现最小优先队列(Min-Heap)。

使用场景

优先队列在很多算法和实际应用中都非常有用,包括但不限于:

  • 任务调度:操作系统调度进程或线程时,可以使用优先队列根据任务的优先级进行调度。

  • 路径查找算法:如 Dijkstra 算法和 A* 算法,需要使用优先队列来选择当前路径的最小代价节点。

  • 事件驱动模拟:模拟系统中不同事件的发生顺序。

  • 数据流处理:处理实时数据流时,优先处理高优先级的数据。

Last updated