标签: c tree heap nodes heapsort
所以我正在开发一个实现堆和堆的项目,但它应该用节点(带有父指针,左指针,右指针)来实现,而不是通常的数组实现。
看起来非常简单,但我无法弄清楚的一件事是如何找出在树上添加新项目的位置。
在数组实现中,您只需将项添加到数组中的下一个空位(array.length index)。但是,对于仅使用节点的实现,并不是那么简单。
我确信我可以编写一些循环遍历整个树的算法,直到找到下一个空白点,但这似乎需要花费大量不必要的时间。
有没有人有任何想法?