我试图概述一个算法来确定我的数组是否是最小堆。有没有任何文档可以帮助我解决这个问题?我在 Apache 的网站上找到了它的函数,但它没有确切地显示该函数是如何工作的;只是存在一个函数(BinaryHeap(boolean isMinHeap))。
维基百科文章 http://en.wikipedia.org/wiki/Binary_heap应该对你有帮助。
以下是一些帮助您思考解决方案的问题:
- 假设堆是最小堆,那么关于堆的根必须正确的是什么?
- 如果堆的根满足最小堆属性,如何确保根的子树也持有该属性?
- 如果树的根没有孩子怎么办?它是最小堆吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)