用栈实现二叉树的递归遍历???
用栈实现二叉树的递归遍历的时候 栈中的数据元素是什么类型的?是结点类型?还是指向结点的指针类型??怎么实现啊??? 二叉树的前、中、后遍历,都是基于栈的,而层序遍历则是基于队列的。 ABC23 发表于 2018-4-26 18:19
二叉树的前、中、后遍历,都是基于栈的,而层序遍历则是基于队列的。
那栈里的元素到底是结点还是指向节点的指针,还是只是结点的数据域?? 愿你 发表于 2018-4-26 19:13
那栈里的元素到底是结点还是指向节点的指针,还是只是结点的数据域??
二叉树的前中后遍历:递归实现,相当于压栈、弹栈……的过程 ABC23 发表于 2018-4-26 19:33
二叉树的前中后遍历:递归实现,相当于压栈、弹栈……的过程
{:10_277:}好啦~知道啦~
不过我想问的是栈中存储元素的数据类型是啥{:10_257:} 愿你 发表于 2018-4-26 22:34
好啦~知道啦~
不过我想问的是栈中存储元素的数据类型是啥
C是按值传递,把二叉树的深拷贝传进去。不传递指针怎么改变外面的东西? ABC23 发表于 2018-4-27 01:15
C是按值传递,把二叉树的深拷贝传进去。不传递指针怎么改变外面的东西?
我就觉得是要把指向结点的指针压栈...
可是我们老师说可以直接压数据域??{:10_266:} ABC23 发表于 2018-4-27 01:15
C是按值传递,把二叉树的深拷贝传进去。不传递指针怎么改变外面的东西?
我就觉得是将指向节点的指针压栈..
但是我们老师说可以直接压数据域,我就觉得很奇怪{:10_266:} 愿你 发表于 2018-4-27 21:26
我就觉得是要把指向结点的指针压栈...
可是我们老师说可以直接压数据域??
压指针最通用
压数据域也可以,只是数据域比较大的时候就不适合压数据域了
当然,这个“大”和“小”对现在的计算机来说,差别不是很大
^_^ 人造人 发表于 2018-4-27 22:49
当然,这个“大”和“小”对现在的计算机来说,差别不是很大
^_^
可是我如果是压数据的话,我怎么找到它的右孩子?? 愿你 发表于 2018-4-28 10:32
可是我如果是压数据的话,我怎么找到它的右孩子??
发代码
页:
[1]