c - 从二叉搜索树中删除多个节点

标签 c binary-search-tree

我有一个用 C 创建的二叉搜索树。问题是我找不到有效的方法来删除所有节点,例如 id>5。

当我遍历树时,如果我删除一个节点,递归会出错,因为结构不一样。

有什么办法,而不是使用帮助堆栈在从树中删除数据之前保留数据?

最佳答案

你尝试过后序吗?
删除其子节点之后的节点。

关于c - 从二叉搜索树中删除多个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1920013/

相关文章:

algorithm - 按所有元素对元组数组进行排序

用C编译: undefined reference to `memcpy'

c++ - 如何使用 C++ Mat 类 ptr 对象的基本 C 包装器打印 Mat 元素

在 C 中传递之前更改输入函数

javascript - 无法找到树中的所有模式

c - 搜索二叉搜索树,使用计数器进行迭代

c - 数组名是指针吗?

C 查找所有出现的子字符串

scheme - Racket\Scheme 中的返回类型

c++ - 从二叉搜索树中删除具有给定值的节点的函数