【发布时间】:2017-02-08 02:22:45
【问题描述】:
我必须使用双向链表和二叉搜索树来实现一个双向优先级队列。
主要函数应该是getMin()和getMax()
使用双向链表: 在 O(1) 中获取最小和最大元素的想法是在列表的一侧插入小元素,在另一侧插入更大的元素,但是每次插入元素都会出现问题(它不会是 O(1) ) 有没有更好的实现方式?
使用 BST: 我无法理解如何在 BST 中实现 getMin() 和 getMax()。
【问题讨论】:
标签: algorithm data-structures linked-list binary-search-tree deque