3
我正在为四叉树编写删除方法。四叉树删除
现在,当您删除节点中的项目时,您需要检查其兄弟以查看是否需要折叠节点并合并为一个节点。
为了检查兄弟姐妹,我应该存储一个指向父节点的指针,还是有一种方法可以递归地做到这一点?
感谢
我正在为四叉树编写删除方法。四叉树删除
现在,当您删除节点中的项目时,您需要检查其兄弟以查看是否需要折叠节点并合并为一个节点。
为了检查兄弟姐妹,我应该存储一个指向父节点的指针,还是有一种方法可以递归地做到这一点?
感谢
对于一个四叉树移除你需要基本做到以下几点:
第1步之后,你基本上完成了。如果你想节省内存并保持树效率,那么你应该做的步骤2和3.
是的,你应该保留一个父节点的引用,使反向遍历高效。
我猜这是一门高度专业化的学科,所以可能这里没有很多人有经验。很多将取决于您选择的数据结构。但是我会发现,你可能必须遍历树来定位要移除的节点,所以你可以在遍历时传入父指针,而不需要在每个节点中存储父指针。 –