首页 > 代码库 > 优先队列底层实现是堆(heap)(操作系统进程调度)

优先队列底层实现是堆(heap)(操作系统进程调度)

只有一个CPU的情况下,比如作业系统中的调度程序,当一个作业完成后,需要在所有等待调度的作业中选择一个优先级最高的作业来执行(删除),并且也可以添加一个新的作业到作业的优先队列中(插入)。

插入操作

插入操作是将一个元素插入到队列的尾部,然后执行“上浮”操作(调整为堆)

技术分享

 

技术分享

 

技术分享

删除操作

优先队列中,在队列非空情况下移除集合中第一个元素,也就是下标为0的元素,然后将集合中最后一个元素移到下标为0位置,在将下标为0的新元素执行“下沉”操作

技术分享

 

优先队列底层实现是堆(heap)(操作系统进程调度)