定義:
甲優先級隊列是一個抽象數據類型,是像一個普通的隊列或堆棧數據結構,但其中另外的每個元素具有「優先級」與它相關聯。在優先級隊列中,具有高優先級的元素在低優先級的元素之前被服務。如果兩個元素具有相同的優先級,則它們將根據其在隊列中的順序進行服務。二進制堆的所有目的
實現:
爲了實現優先級隊列,無序陣列,排序後的數組和二進制堆數據結構是3個實施策略。
具體而言,二進制堆實現策略可使用數組鍵的,
或
每個鍵如二進制節點來表示具有兩個孩子。
問:
除了優先級隊列的實現,都是自己用二進制堆數據結構的任何其他應用程序?
另請參見堆排序。 –
不是。甚至可能會爭辯說,只是填充一個優先級隊列,然後將事情排除在外。二進制堆*是一個優先級隊列。更重要的問題是什麼是優先級隊列的應用程序,哪些最好用二進制堆實現,哪些應該使用其他優先級隊列實現。 –
1.請提供您從中複製的來源的正確歸屬。請參閱http://stackoverflow.com/help/referencing。 2.要求提供二進制堆的所有應用程序列表可能過於寬泛。 3.你做了什麼研究?你看過數據結構教科書,看看他們用堆做什麼? –