为了账号安全,请及时绑定邮箱和手机立即绑定

已采纳回答 / 慕勒4402125
这是一个递归的调用,删除顺序是左右本身  如 可以将一个深度两层以上的数视为           根左树          右树删左树时一样直到一个树只有2层 删除本身后,他又是另外一个更大的树的左树,然后删那个更大的树的右树以此类推,递归

已采纳回答 / 慕妹626757
重点在于使用的对象。如果对象是用Node实例化,调用的就是Node.h里面的SearchNode()函数如果对象是用Tree实例化,调用的就是Tree.h里面的SearchNode()函数

已采纳回答 / 慕数据1404756
因为返回的是一个地址,加*说明取里面的值

已采纳回答 / 程序员麦麦
Node的接口都是public方便直接操作,不用写构造函数。构造函数是因为成员变量是一般是私有的,通过构造函数给成员变量赋值的。

已采纳回答 / ashyybb
把最后找到的节点的值给临时节点,找到后做返回工作

已采纳回答 / SupperMary
你这样看起来很扎眼的,截图啊,大兄弟。在遍历树的时候找个数组给它存着,注意下标更替。

已采纳回答 / 眼睛愛笑
我们在构建树的时候一般都不会用数组,因为我们一开始不会知道树有多少个节点,用数组的话我们是一开始就声明一段连续的内存,如果节点没有预设的那么多就会浪费内存;如果节点超出预计数量,就要重新建立一个新的数组把原来数组的数据传去新的数组,这样会浪费计算资源。用指针的话方便无限添加新节点,用数组建构的树,节点与节点之间不需要是连续的内存,只需要在建立新节点的时候把指针指向父节点即可,方便对树进行添加与删除的操作。

已采纳回答 / 后苍
因为存在节点递归删除,空节点的pLchild、pRchild都是不存在的,若不判空就会报错

已采纳回答 / 小鱼鱼_
根结点的父亲就是空,防止对空指针进行操作

已采纳回答 / 张大猛
可能是你插入的时候出问题了,参考这个代码http://www.imooc.com/article/13384

已采纳回答 / 慕粉1706011085
寻找节点函数需要返回一个节点对象,就定义成为了节点的指针。

已采纳回答 / 慕粉4060693
你的代码在遍历那里有错啊,for(int i=0;i<=m_iSize;i++)这里去掉等于号for(int i=0;i<m_iSize;i++),还有构造函数那里for(int i;i<size;i++)的i要初始化for(int i=0;i<size;i++)。这样就好了

已采纳回答 / 谁记得
在这里明确告诉你,不是一定是要指针你试着把*都去掉,你就发现,还是能运行我觉得这个老师在这里用指针主要有2个原因:1、取地址传递参数效率更快2、后面用链表表示二叉树的时候,确实是一个个节点,那时候就必须用指针,所以在这里二者做了一个格式上的统一
首页上一页12下一页尾页
课程须知
应该熟练掌握C++相关语法,重点掌握数组、结构体及递归函数,需要熟悉线性表和链表相关内容
老师告诉你能学到什么?
通过课程的学习,你将掌握树的相关概念,数组二叉树,链表二叉树及二叉树递归实现的前序遍历、中序遍历和后序遍历

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消