前缀表达式 先序遍历 深度优先 语法树的联想

来源:互联网 发布:知乎 美国epic公司 编辑:程序博客网 时间:2024/05/23 01:14

本文是由一道题目的联想而成:

写出表达式((A+B)C-(D-E)(F+G))的前缀表达式()
答案是: -+ABC-DE+FG

联想一:前缀记法、中缀记法和后缀记法

根据前缀表达式的定义去写出答案

前缀记法、中缀记法和后缀记法都是对表达式的记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。

举例:
(3 + 4) × 5 - 6 就是中缀表达式
- × + 3 4 5 6 前缀表达式
3 4 + 5 × 6 - 后缀表达式

联想二:表达式数

对这个表达式树进行先序遍历即可

这里写图片描述

联想三:深度优先

不管先序遍历还是后序遍历,都是深度优先搜索的特例。

联想四:编译原理中的语法树

待续···

0 0
原创粉丝点击