一、二叉排序树的删除
二叉排序树的删除情况比较复杂,有以下三种情况需要考虑
1)删除叶子节点 (比如:2,5,9,10)
2) 删除只有一个子树的节点(比如:1)
3)删除有两个子树的节点 (比如:7,3,10)
分析情况一:删除叶子节点 (比如:2,5,9,10)思路
分析情况二: 删除只有一个子树的节点(比如:1)思路
分析情况三: 删除有两个子树的节点 (比如:7,3,10)思路
二、代码实现
1.查找相应的节点
/** * * @param v
一、二叉排序树的删除
二叉排序树的删除情况比较复杂,有以下三种情况需要考虑
1)删除叶子节点 (比如:2,5,9,10)
2) 删除只有一个子树的节点(比如:1)
3)删除有两个子树的节点 (比如:7,3,10)
分析情况一:删除叶子节点 (比如:2,5,9,10)思路
分析情况二: 删除只有一个子树的节点(比如:1)思路
分析情况三: 删除有两个子树的节点 (比如:7,3,10)思路
二、代码实现
1.查找相应的节点
/** * * @param v