006 -【CS106B】【C++抽象编程】【中英字幕】【Recursion】

1. 本周的主题是递归,需要学习递归的思维方式。
2. 递归是一种描述问题的方式,通过解决问题的较小或较简单版本来解决问题。
3. 递归在编程中可以应用于各种结构和算法,如文件夹的嵌套结构、家族树等。
4. 递归可以通过调用自身的函数来实现,它与循环一样强大,可以完成各种任务。
5. 递归是一种重要的编程概念,需要通过练习和实践来掌握。
6. 递归编程是一种常用的编程技巧,需要关注基本情况和递归情况。
7. 基本情况是指函数不需要再调用自身,可以直接返回结果。
8. 递归情况是指函数需要调用自身,并且每次调用只处理一小部分的工作。
9. 递归问题通常需要思考问题的自相似性,以及如何利用其他版本的解决方案来帮助解决问题。
10. 递归和循环可以互相替代,但某些问题可能更容易用递归解决,而其他问题则更容易用循环解决。
11. 递归是一种解决问题的方法,通过将问题分解为更小的子问题来解决。
12. 在递归中,需要定义基本情况,即最简单的情况,以及递归情况,即将问题分解为更小的子问题。
13. 递归可以通过调用自身来解决问题,每次调用解决一部分工作,然后将剩余的工作交给下一次调用。
14. 在递归中,需要注意避免无限循环的情况,通常需要定义一个基本情况来终止递归。
15. 递归是一种强大的工具,可以解决许多复杂的问题,但需要小心使用,以避免性能问题和无限循环。