408考研数据结构关键难点总结.docxVIP

  • 11
  • 0
  • 约小于1千字
  • 约 2页
  • 2023-09-16 发布于河北
  • 举报
408考研数据结构关键难点总结 栈在表达式求值中的应用 中缀转后缀/前缀不唯一,但如果以左优先/右优先转化,则唯一 中缀转后缀 手算 左优先(能先算左边的,就先算左边的) 确定中缀表达式中各个运算符的生效顺序 按操作数优先级,将【操作数 运算符 操作数】写成【操作数 操作数 运算符】并看成一个新操作数 循环第二步 机算 从左往右扫描 初始化一个栈,用来保存未确定顺序的运算符,从左往右扫描 操作数:直接加入后缀表达式 界限符: (:直接入栈 ):依次弹出栈内的运算符加入后缀表达式直到( 运算符:依次弹出栈内有优先级高于或等于自己所有运算符,直到栈空或),再将自己压入栈中 中缀转前缀 如中缀转后缀,只是将运算符写在前面 如果按右优先,前缀表达式中的运算符将从右到左依次生效 能先算右边的就算右边的 后缀表达式的计算 手算 中缀表达式中运算符的优先级从左到右的顺序=后缀表达式中运算符从左到右的顺序 手算后缀表达式结果 机算 从左往右扫描,操作数压入栈 扫描到运算符,则弹出两个操作数做运算,再压回栈,先出栈的是右操作数 继续扫描,循环上述直到结束 用栈实现中缀表达式的求值 中缀转后缀+后缀表达式计算 用两个栈 一个放未确定顺序的运算符---中缀转后缀 一个放为确定顺序的操作数---后缀表达式计算 前缀表达式的计算 从右往左扫描,操作数压入栈 扫描到运算符,则弹出两个操作数做运算,再压回栈,先出栈的是左操作数 继续扫描,循环上述直到结束

文档评论(0)

1亿VIP精品文档

相关文档