【发布时间】:2010-10-20 23:35:47
【问题描述】:
我试图弄清楚如何从二叉搜索树中删除一个节点,我知道每个节点是不同的,无论它是叶子,有一个孩子还是两个孩子。所以到目前为止我的功能无非是:
bool BinSTree::remove_root(treeNode*& node) {
if(node -> left == NULL && node -> right == NULL) {
}
elseif(node -> left != NULL && node -> right != NULL) {
}
else {
}
}
我很难理解逻辑,例如,我知道所有这些我都需要能够找到被删除节点的父节点,这是我一无所知和任何帮助的地方将不胜感激!
【问题讨论】:
-
这是作业吗?如果是,则需要一个作业标签。
标签: c++ data-structures binary-tree