欢迎光临散文网 会员登陆 & 注册

10.1.7二叉树-删除节点

2021-12-29 23:39 作者:取悦疾风  | 我要投稿

内容来自尚硅谷Java数据结构与java算法(Java数据结构与算法)_哔哩哔哩_bilibili

写在前面:本文内容大致和原视频内老师的笔记内容相同,会偶尔插入自己的注释和理解,尽量会完成作业

本次作业未完成...

10.1.7二叉树-删除节点

要求

1.如果删除的节点是叶子节点,则删除该节点

2.如果删除的是非叶子节点,则删除整个子树

3.测试删除5号节点和3号子树

4.完成删除的思路分析

5.代码实现

作业

思考题:

1.      如果要删除的节点是非叶子节点,现在我们不希望将该非叶子节点为根节点的子树删除,需要指定规则,假如规定如下:

2.      如果该非叶子节点A只有一个子节点B,则子节点B替代节点A

3.      如果该非叶子节点A有左子节点B和右子节点c,则让左子节点B替代节点A。请大家思考,如何完成该删除功能,老师给出提示.(课后练习)

以我目前的水平,暂时只能写到这里了,我知道我的代码肯定是不完善的,并没有完全符合老师的需求的逻辑,甚至可以说完全不符合老师的需求的逻辑,因为我只实现了一层向下验证的逻辑,举个简单的例子,假如关胜下面还有一左一右2个节点,那我把关胜这个节点置空的操作其实还是相当于把子树给删掉了,所以我这一段代码不具有参考价值,不建议看。

先继续往下学吧...

代码

想想还是发出来吧,用来提醒自己这题没做出来

10.1.7二叉树-删除节点的评论 (共 条)

分享到微博请遵守国家法律