我有一个用 C 创建的二叉搜索树。问题是我找不到有效的方法来删除所有节点,例如 id>5。
当我遍历树时,如果我删除一个节点,递归会出错,因为结构不一样。
有什么办法,而不是使用帮助堆栈在从树中删除数据之前保留数据?
最佳答案
你尝试过后序吗?
删除其子节点之后的节点。
关于c - 从二叉搜索树中删除多个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1920013/
我有一个用 C 创建的二叉搜索树。问题是我找不到有效的方法来删除所有节点,例如 id>5。
当我遍历树时,如果我删除一个节点,递归会出错,因为结构不一样。
有什么办法,而不是使用帮助堆栈在从树中删除数据之前保留数据?
最佳答案
你尝试过后序吗?
删除其子节点之后的节点。
关于c - 从二叉搜索树中删除多个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1920013/