二叉树先序遍历的递归问题
发布网友
发布时间:2022-05-22 04:24
我来回答
共2个回答
热心网友
时间:2024-03-23 20:41
你这个是在哪里弄来的代码?烂死了....如果是某本数据结构书上,千万不要照抄,因为某书上面的代码有问题。
你的问题很好回答,visit函数不放在if语句后面,恐怕是为了判断是否可以读取出来而设定的,若是可以读取出来,就进行下一步,遍历该结点的左子树和右子树,如果不能,返回error,但是这个代码怎么看怎么有问题...
你的第二个问题,不需要回到根节点,当递归调用的函数结束的时候,自动就会返回上一层函数之中,也就是返回了根节点。
先序遍历是按照,根,左孩子,右孩子,这样的方式来遍历的,一开始先输出第一个根,然后看有没有左孩子,有的话,读取左孩子的结点,此时左孩子无论有没有更下一层的结点,都可以看作是一个根节点,所以先输出,再继续遍历...左边的遍历完了再遍历右边的,这就是先序遍历。
如果我能在这里画个图,可能就好说明的多。
建议你自己理解之后自己动手写一份代码,不要参照书上的。自己写。这样你就会明白很多东西的了。
热心网友
时间:2024-03-23 20:42
把递归理解错了,递归调用我用下面这种方法表示
Preorder-