递归(学习笔记2)

您所在的位置:网站首页 函数入口出口是什么意思呀 递归(学习笔记2)

递归(学习笔记2)

2024-06-30 14:05| 来源: 网络整理| 查看: 265

名词解释:

(1)什么是递归程序?

(2)递归程序的优、缺点是什么?

(3)递归程序在执行时,应借助于什么来完成?

(4)递归程序的入口语句、出口语句一般用什么语句实现?

(1)一个函数在结束本函数之前,直接或间接调用函数自身,称为递归。例如,函数f在执行中,又调用函数f自身,这称为直接递归;若函数f在执行中,调用函数g,而g在执行中,又调用函数f,这称为间接递归。在实际应用中,多为直接递归,也常简称为递归。

 

(2)递归程序的优点是程序结构简单、清晰,易证明其正确性。

缺点是执行中占内存空间较多,运行效率低。

 

(3)递归程序执行中需借助栈这种数据结构来实现。

 

(4)递归程序的入口语句和出口语句一般用条件判断语句来实现。递归程序由基本项和归纳项组成。基本项是递归程序出口,即不再递归即可求出结果的部分;归纳项是将原来问题化成简单的(规模更小的)且与原来形式一样的问题,即向着“基本项”发展,最终“到达”基本项。

求和

int sum(int a[], int n)

{

    if(n==1)

        return a[0];

    int subsume= sum(a , n-1);

    return subsum + a[n-1];

}

 

分治法:在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3