1. 程式人生 > >優先隊列底層實現是堆(heap)(操作系統進程調度)

優先隊列底層實現是堆(heap)(操作系統進程調度)

集合 進程 有一個 新元素 tex 隊列 tro 作業 eap

只有一個CPU的情況下,比如作業系統中的調度程序,當一個作業完成後,需要在所有等待調度的作業中選擇一個優先級最高的作業來執行(刪除),並且也可以添加一個新的作業到作業的優先隊列中(插入)。

插入操作

插入操作是將一個元素插入到隊列的尾部,然後執行“上浮”操作(調整為堆)

技術分享

技術分享

技術分享

刪除操作

優先隊列中,在隊列非空情況下移除集合中第一個元素,也就是下標為0的元素,然後將集合中最後一個元素移到下標為0位置,在將下標為0的新元素執行“下沈”操作

技術分享

優先隊列底層實現是堆(heap)(操作系統進程調度)