数据结构C语言描述(耿国华)第3章.ppt

数据结构C语言描述(耿国华)第3章

斐波那契数列的递归算法Fib(n)如下, Fib(int n) { if(n= =0||n= =1) return n; /* 递归出口 */ else return Fib(n-1)+Fib(n-2); /* 递归调用 */ } 图3.11 Fib(5)递归调用过程示意 3-12 Fib(5)循环调用过程示意图 图3.5 表达式运算及运算符优先级 图3.6 无括号算术表达式的处理过程 2) 算术表达式处理规则 (1) 规定优先级表。 (2) 设置两个栈: OVS(运算数栈)和OPTR(运算符栈)。 (3) 自左向右扫描,遇操作数进OVS,遇操作符则与OPTR栈顶优先数比较:当前操作符OPTR栈顶, 当前操作符进OPTR栈当前操作符≤OPTR栈顶,OVS栈顶、次顶和OPTR栈顶,退栈形成运算T(i),T(i)进OVS栈。 例: 实现A/B↑C+D*E#的运算过程时栈区变化情况如图3.7所示。 图3.7 A/B↑C+D*E运算过程的栈区变化情况示意图 3) 带括号算术表达式 假设操作数是整型常数,运算符只含加、减、乘、除等四种运算符, 界限符有左右括号和表达式起

文档评论(0)

1亿VIP精品文档

相关文档