我在康涅狄格大学学计算机科学专业,我觉得编程好难啊?递归作业不会做怎么办?有没有帮我讲讲递归啊?
最佳答案
课程顾问-小管家
2023-04-26 03:01:52
很多学生可能在刚上大一的时候就已经学过递归了,但是我相信你们中大多数刚开始学递归的人,都会感觉很难。
递归是函数本身是在函数的代码中调用的,所以我们必须弄清楚递归的结束条件,否则我们就会不断地调用自己,陷入一个无底洞。也就是说,我们需要找出当参数为什么时,递归结束,之后直接把结果返回,请注意,这个时候我们必须能根据这个参数的值,能够直接知道函数的结果是什么。
递归意味着“根据问题本身来定义问题”。这是编写算法的一个非常强大的工具。递归直接来源于数学,在数学中有很多用它们自己写的表达式的例子。例如,斐波那契数列定义为:F(i) = F(i-1) + F(i-2)。递归函数是自己调用自己的一种函数,直到“基本条件”为真,就停止执行。

递归同样适用于计算机算法:一些与计算机相关的例子包括:添加数字列表、计算斐波那契数列、计算阶乘和数独。
我们可以用一个或一段时间的循环做同样的事情。但是使用递归产生了一个更易读的优雅的解决方案。这就是为什么我们使用递归解决方案。很多时候,将问题分解成更小的部分更有效率。把问题分成小部分有助于克服它。因此,递归是一种解决问题的分治方法。
相关问答
最新问答

英国全球治理论文可以安排到老师补习指导吗?
急求一名可以辅导英国UCL全球治理论文的老师,希望老师能负责一些,我有好多的问题想请教老师,老师知识渊博再好不过了,能给我提供越多的思路越好。
考而思2025-11-27
英国林肯大学BA (Hons) Business and Finance商务与金融专业能补习课程吗?
英国林肯大学BA (Hons) Business and Finance商务与金融专业能补习课程吗,我目前是大一,有一部门的课程想补习一下,就是我有不会的,就能找老师补习哪部分最好
考而思2025-11-18
英国读研挂科了怎么办?是不是就不能毕业了呢?
英国读研挂科了怎么办?会不会就不能毕业了?什么情况下会影响我的毕业啊,我总感觉我有一门课程会挂,自己本身也没有学好,明天考试注定了...挂科了怎么办?
考而思2025-11-18