java 初始化堆数据结构
如何用简单、基本的 Java 伪代码用 7 个数字初始化堆数据结构?
How do I initialise a heap data structure in simple, basic Java pseudo-code with 7 numbers?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您想自己做而不是使用 Java 的 PriorityQueue,那么您必须将所有 X 项放在正确的位置,以便它们维护堆属性:
在查找任何项的最大子项时,您必须记住一个或两个子项可能是在你的数组之外。当然,在这种情况下您不必考虑它。
If you want to do it yourself and not use Java's PriorityQueue then you have to put all X items at the right place so they uphold heap properties:
When looking for the greatest child of any item you have to remember that one or both children could be outside of your array. In this case you don't have to take it into account, of course.
使用 PriorityQueue。它被实现为堆 DS。
然后简单地使用queue.add(yourObject);添加
默认情况下,它使用自然排序,如果您想要其他任何内容,您可以使用自己的 比较器。
use PriorityQueue. It is implemented as Heap DS.
And then simply add using queue.add(yourObject);
By default it uses natural ordering, if you want anything else you can use your own Comparator.