我正在尝试编写一个在二叉树上实现的二叉堆,但我无法找到一种将新节点添加到堆“底部”的方法,即树上的第一个空空间宽度-第一次遍历。我已经有了一个可用的 heapify 函数,但我不知道如何在 heapifying 之前添加一个新节点。
我似乎想不出一个一致的算法可以找到我可以添加节点的空空间,每次我想我想出什么东西时,它都行不通。我该怎么办?
我正在尝试编写一个在二叉树上实现的二叉堆,但我无法找到一种将新节点添加到堆“底部”的方法,即树上的第一个空空间宽度-第一次遍历。我已经有了一个可用的 heapify 函数,但我不知道如何在 heapifying 之前添加一个新节点。
我似乎想不出一个一致的算法可以找到我可以添加节点的空空间,每次我想我想出什么东西时,它都行不通。我该怎么办?