已采纳回答 / 慕勒4402125
这是一个递归的调用,删除顺序是左右本身 如 可以将一个深度两层以上的数视为 根左树 右树删左树时一样直到一个树只有2层 删除本身后,他又是另外一个更大的树的左树,然后删那个更大的树的右树以此类推,递归
2019-08-15
已采纳回答 / 慕妹626757
重点在于使用的对象。如果对象是用Node实例化,调用的就是Node.h里面的SearchNode()函数如果对象是用Tree实例化,调用的就是Tree.h里面的SearchNode()函数
2019-03-27
已采纳回答 / 眼睛愛笑
我们在构建树的时候一般都不会用数组,因为我们一开始不会知道树有多少个节点,用数组的话我们是一开始就声明一段连续的内存,如果节点没有预设的那么多就会浪费内存;如果节点超出预计数量,就要重新建立一个新的数组把原来数组的数据传去新的数组,这样会浪费计算资源。用指针的话方便无限添加新节点,用数组建构的树,节点与节点之间不需要是连续的内存,只需要在建立新节点的时候把指针指向父节点即可,方便对树进行添加与删除的操作。
2017-12-21
已采纳回答 / 慕粉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++)。这样就好了
2017-01-25
已采纳回答 / 谁记得
在这里明确告诉你,不是一定是要指针你试着把*都去掉,你就发现,还是能运行我觉得这个老师在这里用指针主要有2个原因:1、取地址传递参数效率更快2、后面用链表表示二叉树的时候,确实是一个个节点,那时候就必须用指针,所以在这里二者做了一个格式上的统一
2017-01-01