算法设计与分析:基于C++编程语言的描述
上QQ阅读APP看书,第一时间看更新

1.4 递归

递归技术是设计和描述算法的一种强有力的工具,它在算法设计与分析中起着非常重要的作用,采用递归技术编写出的程序通常比较简洁且易于理解,并且证明算法的正确性要比相应的非递归形式容易得多。因此在实际的编程中,人们常采用该技术来解决某些复杂的计算问题。有些数据结构如二叉树,结构本身就具有递归特性;此外还有一类问题,其本身没有明显的递归结构,但用递归程序求解比其他方法更容易编写程序,如八皇后问题、汉诺塔问题等。鉴于该技术的优点和重要性,在介绍其他算法设计方法之前先对其进行讨论。