讀《Java數據結構和算法》(第四章)

讀《Java數據結構和算法》(第四章)

一、第四章

1、隊列
(1)隊列效率:和棧一樣,隊列中插入數據項和移除數據項的時間複雜度均爲O(1)
(2)雙端隊列提供棧和隊列的兩種功能,
(3)優先級隊列有隊頭和隊尾,並且也是從隊頭移除數據,不過在優先級隊列中,數據項按關鍵字的值有序,這樣關鍵字最小的數據項總在隊頭,數據插入的時候會按照順序插入到合適的位置以確保隊列的順序
(4)優先隊列應用於搶佔式多任務操作系統,程序排列在優先級隊列中,這樣優先級最高的程序就會先得到時間片並得以運行
(5)優先級隊列插入操作需要O(N)的時間,刪除操作則需要O(I)的時間
(6)解析算術表達式使用棧的操作

2、總結
(1)棧中重要的操作是在棧頂插入(壓入)一個數據項,以及從棧頂移除(彈出)一個數據項
(2)隊列的重要操作是在隊尾插入數據項和在隊頭移除數據項
(3)隊列可以實現爲循環隊列,基於數組,數組下標可以從數組末端迴繞到數組的開始位置
(4)優先級隊列允許訪問最小(或有時是最大)的數據項
(5)優先級隊列的重要操作是有序地插入新數據項和移除關鍵字最小的數據項

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章