當前位置:編程學習大全網 - 網站源碼 - 數據結構——優先隊列

數據結構——優先隊列

優先隊列顧名思義,就是優先權最大的排在隊列的頭部,而優先權的判斷是根據對象的compare方法比較獲取的,保證根節點的優先級壹定比子節點的優先級大。所以放入到優先隊列的元素要麽實現了Comparable接口,要麽在創造這個優先隊列時,指定壹個比較器。

普通的隊列是壹種先進先出的數據結構,元素在隊列尾追加,而從隊列頭刪除。在優先隊列中,元素被賦予優先級。當訪問元素時,具有最高優先級的元素最先刪除。優先隊列具有最高級先出 (first in, largest out)的行為特征。通常采用堆數據結構來實現。

在Java中也實現了自己的優先隊列 java.util.PriorityQueue ,與我們自己寫的不同之處在於,Java中內置的為最小堆,然後就是壹些函數名不壹樣,底層還是維護了壹個Object類型的數組,大家可以戳戳看有什麽不同,另外如果想要把最小堆變成最大堆可以給PriorityQueue傳入自己的比較器。

參考:

blogs.com/wmyskxz/p/9301021.html

  • 上一篇:微軟開放源代碼
  • 下一篇:西安財經大學院校代號是多少
  • copyright 2024編程學習大全網