栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

7.1 .二叉树之递归

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

7.1 .二叉树之递归

递归函数:

自己调用自己,重复相同的事情

明确:

ABC

AAA

递归函数一定要有退出的条件!

案例:采用递归函数实现打印:1 2 3

分析:

void print(int max) {

        //第三步:给递归函数编写退出条件

        if(max == 1) {

                printf("1 ");

                return; //退出返回

        }

        //第二步:然后发现打印3和打印2和打印1是一样的,所以自己调用自己重复打印printf即可

        //但是打印3之前打印2,打印2之前打印1

        print(max-1);

        //第一步.首先要明确递归函数所要做的重复性事件,对于这个案例,重复性的事件就是打印1个数字

        printf("%d ", max);

        }

int main(void) {

        int max = 3;

        print(max); //调用递归函数

        printf("n");

        return 0;

}

 

#include 
//main
//  print(int max=3)
//      print(int max=2)
//          print(int max=1)
//              printf:打印1
//              return
//          printf:打印2
//          return
//      printf:打印3
//      return
//  printf:n
//  return
void print(int max) {
    //第三步:给递归函数编写退出条件
    if(max == 1) {
        printf("1 ");
        return; //退出返回
    }
    //第二步:然后发现打印3和打印2和打印1是一样的,所以自己调用自己重复打印printf即可
    //但是打印3之前打印2,打印2之前打印1
    print(max-1); 
    //第一步.首先要明确递归函数所要做的重复性事件,对于这个案例,重复性的事件就是打印1个数字
    printf("%d ", max);
    return;
}
int main(void) {
    int max = 3;
    print(max); //调用递归函数
    printf("n");
    return 0;
}

思考:利用递归求数列第n项的值

1 1 2 3 5 8 .....

公式:f(n) = f(n-1) + f(n-2)

#include

int fee(int n) {

        if(n < 3)

                return 1;

        return fee(n-1) + fee(n-2);

        }

        int main(void) {

                int n = 6;

                printf("%dn", fee(n));

        }

 

思考:利用递归求数列第n的阶乘

公式:n!=n*(n-1)!

#include

int fact(int n) {

        if(n≤1)

                return 1;

        return n*fact(n-1);

}

int main(void) {

        int n = 5;

        printf("%dn", fact(n));

        return 0;

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/916978.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号