在没有数组的优先级队列上实现插入和删除功能?

Implementing insert and delete function on priority queue without array?

我需要在不使用数组的情况下实现优先级队列。 我试图使用二进制堆(最小堆)来实现它,但在插入新元素时遇到了麻烦。使用数组我只需要在数组的末尾追加新元素并 headpfy 它,但如果没有数组我必须注意我将插入它的位置,因为二叉树可能会变得非常不平衡。

我想知道这个没有数组或其他数据结构的二进制堆的解决方案以用作最小堆。

我需要实现插入和删除的功能(可以是堆中间的最小元素或其他)。

同样的问题,但没有回答:MinMax Heap implementation without an array

谢谢

用于此任务的常见数据结构是斐波那契堆或二项式堆:

https://en.wikipedia.org/wiki/Fibonacci_heap

https://en.wikipedia.org/wiki/Binomial_heap