×

通过Pascal递归。 (英语) Zbl 0547.68003号

剑桥计算机科学教材, 19. 剑桥等:剑桥大学出版社。十、 192 p.hbk:17.50英镑;$34.50; pbk:7.50英镑;美元14.95 (1984).
这本书是关于递归编程技术的少数几本书之一。Pascal被选为表示基本概念以及示例和练习的编程语言。第1章(递归简介)包含一些简单的例子,例如阶乘函数;在这里,作者介绍了几个主要概念&线性递归(在这些过程中只有一个静态调用)、二进制递归(两个递归调用)、n元递归(例如,在一个循环中调用的次数不定)。讨论了递归的一些实现,定义了堆栈和递归深度的概念。考虑了递归实现的存储成本和时间成本问题。为了分析递归的代价,作者引入了合适的递归关系。第2章(带链接线性列表的递归)考虑了列表等数据结构及其操作的基本递归过程。第三章(二叉树递归)描述了一些二叉搜索树和这些树的基本过程(插入、删除、搜索);还考虑了表示算术表达式的表达式树。第4章(无树二进制递归)包含了对经典示例的分析——Hanoi塔、合并排序、快速排序。第5章(双递归、互递归、递归调用)专门讨论了过程调用链(a到B到C到……X到a)的情况;与直接递归相比,这种情况称为间接(或相互)递归。第6章(n元树和图的递归)考虑了更一般的数据结构,如B树和有向图。第7章(模拟嵌套循环)给出了一些n元递归的例子——置换生成器、拓扑排序、组合生成器、分区生成器、拉丁方。第8章(递归的消除)考虑了如何消除递归。描述了一些技术(尾部递归规则、堆栈的直接模拟、堆栈的直用、体替换)。每一章的结尾都有一些例子。
审核人:于。M.沃洛欣

MSC公司:

68-02 与计算机科学有关的研究展览会(专著、调查文章)
68号01 软件理论的一般主题