基本思想:“自己调自己”
递归结构包含两个部分:
- 定义递归头。即,什么时候不调用自身方法,也就是递归的结束条件。如果没有头,将陷入死循环。
- 递归体。
递归的优点
程序简单
递归的缺陷
递归调用会占用大量的系统堆栈,内存耗用多,在递归调用层次多时速度要比循环慢的多,所以在使用递归时要慎重。
任何能用递归解决的问题也能用迭代解决。在要求高性能的情况下,应尽量避免使用递归,递归调用既花时间又耗内存。
应用
- 快排;
- 百度爬虫;
递归结构包含两个部分:
递归的优点
程序简单
递归的缺陷
递归调用会占用大量的系统堆栈,内存耗用多,在递归调用层次多时速度要比循环慢的多,所以在使用递归时要慎重。
任何能用递归解决的问题也能用迭代解决。在要求高性能的情况下,应尽量避免使用递归,递归调用既花时间又耗内存。
应用