数据结构与算法(Python语言描述)课件表达式的求值
表达式求值中缀和后缀的表达式中缀:A+B*(C-D)-E/F优先级高的运算符先计算;优先级相同的自左向右计算;先括号内,后括号外;后缀:ABCD-*+EF/运算符没有优先级,运算次序自左向右;运算符的两个运算数是其之前的最后两个;后缀表达式的求值附设运算数栈;依次读入表达式的每一“项”,若是数,则将其压栈若是符,则:连续从栈中退出两个操作数b和a计算a 当前符 b并将计算结果压栈当表达式处理结束时,栈顶(唯一元素)是计算结果。后缀表达式求值算法def suffix_evaluator(exp): operators = +-*/ st = SStack()# 存已读入的运算数 for x in exp: if not x in operators: st.push(float(x)) else: b = st.pop() a = st.pop() c = calculate(a, x, b)# 子表达式“归约” st.push(c) return st.top()中缀表达式的求值计算时机:读入新的运算符时,若其优先级比前面最后读入的运算符的优先级低时,则前一个运算符可与当前已读入的最后的两个运算数计算;两处“最后读入的先处理”(LIFO),故附设两个栈:运算数栈运算符栈优先级的处理方式1优先级表:C版课本P53。表示: # y是栈顶符, x是当前读入符 def preced
您可能关注的文档
最近下载
- GB-Z 18620.2-2008 国家行业标准规范.pdf
- DG/TJ 08-2062-2025 住宅工程套内质量验收标准.docx VIP
- SEDA24-J3不锈钢饰面保温装饰板外墙外保温系统建筑构造.docx VIP
- T∕CAEC 011-2026 工程监理企业信用评价标准.docx VIP
- 汽车加油加气加氢站技术标准-条文说明.docx VIP
- 电除尘器安装施工方案.docx VIP
- 人教PEP版英语五年级下册Unit 5 Whose dog is it?单元整体教学设计 .pdf VIP
- ASDAB2系列台达伺服驱动器操作说明书.pdf
- 南京恒顺达船务有限公司奖惩条例(试行).docx VIP
- 锚链制造工艺流程及工序的工艺要求.doc VIP
原创力文档

文档评论(0)