我研究过二进制堆,但我仍然对如何为这个程序做什么感到很困惑如果我能得到一些指导,我将非常感激我仍在学习 java 并且在这样做时遇到了很多麻烦。
k-ary heap 类似于二叉堆(其中 k = 2),但(除了一个可能的例外)非叶节点有 k 个子节点而不是 2 个子节点。将 k-ary heap 实现为任意 k ≥ 2 的最小优先级队列,以支持以下操作:
• insert (x):将元素x 插入到堆中。
• extract-min():移除并返回堆中键最小的元素。
k-ary heap 将使用一个预定义大小的数组来实现。还通过测量给定输入文件 k = 2、4、6、8、10 的情况下执行一系列操作所需的时间,研究数据结构在不同 k 值下的相对效率。在输入文件中,“IN”代表插入和“EX”代表提取最小操作。