第4章栈和队列技术方案.ppt

第四章 栈和队列 4.4 栈的应用 4.5算术表达式的计算 4.5.1 算术表达式的两种表示 4.5.2后缀表达式求值的算法 4.5.3把中缀表达式转换为后缀表达式的算法 在计算机中进行算术表达式的计算是通过 栈来实现的。 4.6 栈与递归 一、递归的概念 一个算法直接或间接地调用自身,称该算法为递归算法。这个函数就称递归函数。 根据定义递归分为: 直接递归 ? 直接调用自己 间接递归 ? 间接调用自己 递归用把问题分解为形式更简单的子问题来求解问题。 n阶乘递归算法的执行过程: 三、递归算法的设计方法 递归既是一种有效的分析问题的方法,也是一种有效的算法设计方法。 设计递归算法的方法: 把对原问题的求解设计成包含对子问题求解的形式; (即较复杂的问题转换为较简单的问题) 设计递归出口; (简单到一定程度,直接给出结果) 例:汉诺(hannoi)塔问题 问题描述: 设有三根标号为A,B,C的柱子,在A柱上放n个盘子,每个盘子都比下面的略小一点,要求把A柱上的盘子全部移到C柱上,移动规则是: 一次只能移动一个盘子; 移动过程中大盘子不能放在小盘子上面; 在移动过程中盘子可以放在A,B,C的任意一个柱子上。 算法描述: void Towers( int n

文档评论(0)

1亿VIP精品文档

相关文档