1.广义表的一些概念:
概念:广义表
,又称列表,也是一种线性存储结构,既可以存储不可再分的元素,也可以存储广义表,记作:LS = (a1,a2,…,an)
,其中,LS 代表广义表的名称,an 表示广义表存储的数据,广义表中每个 ai 既可以代表单个元素,也可以代表另一个广义表。
表头表尾:当广义表不是空表时,称第一个数据(原子或子表)为"表头"
,剩下的数据构成的新广义表为"表尾"
。
广义表的长度:若广义表不空,则广义表所包含的元素的个数,叫广义表的长度,数第一层括号内的逗号数目。
广义表的深度:广义表中括号的最大层数叫广义表的深度。
2. 算数表达式的前中后缀表达式:
这里我给出一个中缀表达式:a+b*c-(d+e)
第一步:按照运算符的优先级对所有的运算单位加括号:式子变成了:((a+(b*c))-(d+e))
第二步:转换前缀与后缀表达式
前缀:把运算符号移动到对应的括号前面
则变成了:-( +(a *(bc)) +(de))
把括号去掉:-+a*bc+de 前缀式子出现
后缀:把运算符号移动到对应的括号后面
则变成了:((a(bc)* )+ (de)+ )-
把括号去掉:abc*+de+- 后缀式子出现