我很困惑是否使用对父母的引用。它显着降低了删除操作的算法复杂度。但我已经看到了一些反对使用它的令人信服的论据,比如空间要求。所以使用父指针是好的。生产质量代码是否使用对父母的引用?
答案 0 :(得分:3)
简短回答:取决于。
回答以下问题有助于:
父指针可以轻松找到最低公共祖先,并且可以轻松删除节点。
您打算如何使用BST?
有了更详细的信息,我们可以为您提供更多帮助。
强烈反对它的论据:
只是挑剔:如果它引人注目,为什么要问这个问题?
无论如何,如果我是你,我会包含对父节点的引用,因为它使得大量功能更容易实现。
同样,这最终会在时间和记忆之间进行权衡。如果你愿意在一个人身上花更多钱,你可以在另一个因素上做得更好。