首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树
[单选题]
若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用()遍历方法最合适。
前序
中序
后序
按层次
添加笔记
求解答(0)
邀请回答
收藏(0)
分享
纠错
1个回答
添加回答
0
Pluto.201904281209413
显然后序遍历比较合理。正常的逻辑应该就是:做好当前结点子树内部的交换,然后交换当前结点的左右子树。刚好符合后序遍历的算法逻辑。
1. 交换好左子树
2. 交换好右子树
3. 交换左子树与右子树
其他算法如先序和按层次其逻辑都差不多,即访问当前结点时交换其左右子树。从逻辑上来看稍显别扭一点点。因此说最合适应该是后序遍历
,
但
是从实现上来说先序和按层次都是可以的。
1. 交换左子树与右子树
2. 遍历左子树
3. 遍历右子树
按层次遍历
1. 根结点入队列
2. 出队列,交换其左右子树,将子树的根入队列
3. 重复2直到队列为空
中序遍历相对较难实现一些。
发表于 2019-04-28 12:20:32
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
树
上传者:
喵大人喵喵喵
难度:
1条回答
0收藏
2459浏览
热门推荐
相关试题
明明的随机数
数组
评论
(3692)
来自
华为研发工程师编程题
已知a
40
=...
京东
职能
2019
财务
保险
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
有20000人的就餐需求,现建了一...
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题