2
我一直在使用Java的斐波那契堆实现约一周。这是基于CLRS书籍的实现。斐波那契堆问题
我想看看是否可以在我正在开发的一个侧项目中使用它,而不是使用Java的默认PriorityQueue。 [Java中的默认实现是基于数组的,更多的是本地的。尽管复杂程度越来越高,它仍可能超越F堆。
我的问题似乎源于去除min元素后合并部分的堆。我一直在抛出arrayindexoutofboundsexceptions。特别是在while循环中,当它合并具有相同程度的所有节点时。它超出了D()函数设置的界限。
因此,无论我的D()函数是错误的,我不认为它,或其他事情正在发生。最有可能的副作用相关。代码here。我一直试图调整这一周,现在运气好。我错过了明显的东西吗?