摘 要:递归是C语言中经常使用的将复杂问题简单解决的方法。递归作为一种算法在程序设计语言中应用广泛,其最基本的特点是自身调用自身,实现层次结构的查询与访问。本文阐述了递归算法的基本概念,成立的三个条件,直接和间接递归分类,通过实例深入分析递归的应用。
关键词:递归,算法,C语言
递归调用是指一个函数在其函数体内调用其本身的过程。递归调用有两种表示方式,分别是直接调用自己和间接调用自己,也就是说在一个函数的执行过程之中出现了直接或者间接调用这个函数本身的行为。我们称前者为直接递归调用,称后者为间接递归调用。
递归的应用是通常是解决有“循环、迭代、嵌套”等特点的计算和判定问题的常用方法。其在实际中也得到了较为宽泛的运用,例如:数学中递归型函数的计算、图和树等数据结构的遍历、操作系统文件系统建立和删除文件操作算法的实现、计算机语言语法及词法分析、游戏软件研发、数据库访问等。递归模型中一些经典实例:如楼梯问题、八皇后问题、Hanoi塔等类似问题的递归解决,充分展现了递归算法的魅力,同时也给研究递归算法提供了很好的素材。
目录
摘要
Abstract
1 引言 4
2 递归 5
2.1 基本概念 5
2.2 递归分类 6
3 递归算法效率的改进 9
3.1 利用循环消除递归 9
3.2 利用栈消除递归 11
4 递归算法的应用 11
4.1 递归的数学应用 11
4.2 实际生活中的应用 12
结论 15
参考文献 16
致谢 17