稀疏矩阵包含了哪几种基本的运算操作呢

电子说

1.3w人已加入

描述

递归是一个非常重要的概念,但是并不是很好理解。

最常用的递归案例,就是求乘法的阶乘,例如求n!的值。

n=1
n=1*2
n=1*2*3
n=1*2*3*4
...

这个乘法问题,是在前一个乘法的基础上,再做乘法运算,也就是

fun(n)=fun(n-1) * n

这就是递归的公式,我们只要确定了fun()的实现,就能够求出所有的值。

#include 


int fun(int n){
  if(n == 1) return 1;
  return fun(n-1) * n;
}


int main(){
  printf("%d\\n", fun(5));
  return 0;
}

在这个案例中,设n=5,他的执行过程如图所示。

矩阵

由外到里,再由里到外。

在设计递归算法的时候,需要注意,必须有出口条件,本案例中,阶乘的出口条件是n=1的时候,乘积为1

再看一个案例,例如,要求一个复杂的多项式

F(1)=1,F(2)=1

F(n)=F(n-1)+F(n-2) n>2 求F(6) = ?

根据数学方程,实现起来也非常简单

#include 


int f(int n){
  if(n == 1) return 1;
  if(n == 2) return 1;
  return f(n-1) + f(n-2);
}


int main(){
  printf("%d\\n", f(6));
  return 0;
}

执行过程如图所示。

矩阵

审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分