我不知道是否该引用父母它大大减少了删除操作的算法复杂度。但我看到了一些令人信服的反对使用它的理由,比如空间要求。所以这是好的使用父指针生产质量代码是否引用父项?
最佳答案
简而言之:这要看情况而定。
回答以下问题有助于:
你经常想做什么?
你想快点做什么?
你有多少记忆?
父指针使查找最低的公共祖先变得容易,也使删除节点变得容易。
你打算用BST做什么?
如果有更多的细节,我们可以帮助你。
反对使用的有力论据:
吹毛求疵:如果这很有说服力,为什么要问这个问题?
不管怎样,如果我是您,我会包含对父节点的引用,因为它使大量功能更易于实现。
同样,这也是时间和记忆之间的一种权衡,如果你愿意在其中一个上面花更多的钱,你可以在另一个方面做得更好。