校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 数据结构 > 二叉树遍历
题目

前缀表达式为-+a*b-cd/ef,后缀表达式为abcd-*+ef/-,对应二叉树的中序遍历序列是()。

A.a+b*-e/fc-d

B.a+b*(c-d)-c/f

C.a+b*-e/fcd-

D.a+b-*e/fc-d

解答

正确答案是 B

中序遍历结果是直观可辨识的表达式,毫无疑问B

C 9条回复 评论
爱潜水的Nick

老师讲得真好,通俗易懂

发表于 2023-07-19 23:00:00
0 0
我是一只粽子啊

我非科班18年毕业,现在转开发来得及吗,可能要先培训6个月

发表于 2021-09-13 08:00:00
0 0
咸鱼王

大佬们,这个是后缀表达式,不是后序遍历,按照后缀表达式算一遍,能出来结果。

发表于 2018-10-13 15:50:36
0 0
碎梦不是梦碎

根据后缀还原中缀表达式,结果不是B吧。B选项里的"c-d"应该改为"(c-d)"吧

发表于 2018-10-13 15:50:26
0 0
小飞鞋

B 由二叉树的遍历特性可以确定-为根节点,然后由前序遍历序列-+a*b-cd/ef,后序遍历序列abcd-*+ef/-

确定+/是-的子节点,且+为左子树/为右子数由于a*b-c在 线序序列中在/的前面故a*b-c为+的子树,又因在后续排列中 a*b-cd故a没有子树且可以确定a为+的左子树*为+的右子树,同理可得二叉树,并由二叉树

可以求出二叉树的中序序列 a+b*c-d-e/f

发表于 2018-10-13 15:50:18
0 0
咻辉

中缀表达式就是我们平时用的标准四则运算表达式

发表于 2018-10-13 15:50:01
0 0
星辰大海

例 首先按照运算的先后顺序将表达式全部都添加上括号 ((a+(b*(c-d)))-(e/f)) 后缀表达式,从里到外将所有运算符都拿到右括号的右边

((a(b(cd)-)*)+(ef)/)- 再将所有括号都去掉 abcd-*+ef/- 前缀相反,运算符拿到左括号左边 -(+(a*(b-(cd)))/(ef)) 去掉括号 -+a*b-cd/ef

发表于 2018-10-13 15:49:54
0 0
花将离

树的一种有效应用方式就是表达式的表示问题。
可以根据后缀表达式求出中缀表达式,中缀表达式是直观的表达式。
这里要注意理解,不能理解为树只给前序遍历和膈序遍历就无法确定树的结构

发表于 2018-10-13 15:49:45
0 0
冬季恋歌

我靠应该是a+b*(c-d)-c/f,少了个括号

发表于 2018-10-13 15:49:38
0 0