优先队列:基本操作:插入删除(删除最小元素)
目标:为上述功能提供有效的运行时间或增长顺序。
优先队列的实现方式:
Linked List: Insertion will take o(n) in case of insertion at end o(1) in case of
insertion at head.
Delet (Finding minumum and Delete this ) will take o(n)
BST:
Insertion/Deltion of minimum = In avg case it will take o(logn) worst case 0(n)
AVL Tree:
Insertion/deletion/searching: o(log n) in all cases.
我的困惑在这里:
为什么我们不使用 AVL 树来实现优先级队列,为什么我们选择二进制堆......虽然我们知道在 AVL 树中我们可以在最坏的情况下在 o(log n) 中进行插入/删除/搜索。