数据结构

数据结构先序遍历,求解释这是课本129页的例题,三个if递进的话如果某个结点没有左子树有右子树,那右子树不就不能遍历了吗?还有这三个return把我搞糊涂了,请明白的讲一... 数据结构先序遍历,求解释
这是课本129页的例题,三个if递进的话如果某个结点没有左子树有右子树,那右子树不就不能遍历了吗?
还有这三个return把我搞糊涂了,请明白的讲一下,谢谢啦
status preOrderTraverse(biTree T,ststus(*visit)(tElemType e)){
if(T){
if(visit(T->data))
if(preOrderTraverse(T->lchild,visit))
if(preOrderTraverse(T->rchild,visit))return OK;
return ERROR;
}else return OK;
}
有简单的解释吗
展开
 我来答
chiconysun
推荐于2017-09-26 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2627万
展开全部

因为这个遍历里面的遍历函数preOrderTraverse 和访问结点函数visit都有返回值来确定过程中间是否出错了,凡是中间哪个环节出了错,后面的遍历就不再进行了,下面是按控制结构缩进重排了的:

可以和都没返回值的对比一下:

更多追问追答
追问
能给我解释下怎么递归的吗。我都不知道四个if一个else怎么执行的。
追答
条件为真(返回OK)就可以继续往下执行,不是后面的就再不执行了,对照下面的那个应该一看就清楚了的
景联文科技
2024-06-11 广告
杭州景联文科技有限公司专注于大模型数据集的研发与应用。我们深知,在人工智能飞速发展的时代,数据是驱动模型优化的核心动力。因此,我们致力于构建丰富、多元的大模型数据集,涵盖各行各业,为AI模型提供充足的“养分”。通过不断积累与优化,我们的数据... 点击进入详情页
本回答由景联文科技提供
彤彩静5Q
2019-11-13 · TA获得超过1483个赞
知道答主
回答量:1748
采纳率:0%
帮助的人:94.6万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式