3种写法:
1,使用递归
对于有左右孩子的情况:
2,删除的时候,如果需要替换,直接进行节点的替换,【这个是节点和值一同替换】
3,删除的时候,如果需要替换,值替换,【节点不变,将节点的值换一下】
最复杂的就是删除结点有左右孩子的
采用替换法的思想,找待删除结点左子树中最大的值替换或者右子树中最小的值替换,才能保证二叉搜索树的结构完整。
换节点的方式
换值的方式
450. 删除二叉搜索树中的节点代码随想录,递归,迭代
3种写法:
1,使用递归
对于有左右孩子的情况:
2,删除的时候,如果需要替换,直接进行节点的替换,【这个是节点和值一同替换】
3,删除的时候,如果需要替换,值替换,【节点不变,将节点的值换一下】
最复杂的就是删除结点有左右孩子的
采用替换法的思想,找待删除结点左子树中最大的值替换或者右子树中最小的值替换,才能保证二叉搜索树的结构完整。
换节点的方式
换值的方式
450. 删除二叉搜索树中的节点代码随想录,递归,迭代
上一篇:51. N 皇后-回溯法
下一篇:一张纸对折多少次厚度超过珠峰高度
【数据结构】第五章——树与二叉树详细介绍二叉树的存储结构……
前面写过二叉树的节点插入与查找关键数据项以及最值的数据项。二叉树的删除与遍历是另外一项重要的操作。特别是二叉树的人删除比较复杂,分为无子节点的节点删除,只有一个子节点的节点删除和有两个子节点的节点删除三种情况。1. 删除没有子节点的节点 这种情况是三种节点删除中最简单
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M