Java递归,尾递归

news/2024/7/20 20:56:29 标签: java, 动态规划, 深度优先

递归

  • 1.递归方法,一个方法体内调用它自身
  • 2.方法递归包含了一种隐式的循环,他会重复执行某行代码,但这种重复无序循环控制递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似与死循环

题目
已知有一个数列:f(0) = 1,f(2) = 4,f(n+2) = 2*f(n+1) +f(n),
其中n是大于0的整数,求f(10)的值

递归

java">//	递归
	public int f(int n) {
		if(n==0) {
			return 1;
		}else if (n == 1) {
			return 4;
		}else {
			return 2*f(n-1)+f(n-2);
		}	
	}

尾递归
尾递归可以减少函数的调用的次数,避免一些重复性的运算,提高运行效率

java">//	尾递归
	public int func(int n, int a,int b,int c) {
		if (c==0) {
			return 1;	
		}else if (c==1) {
			return 4;
		}else {
			if(n==c) {   # 控制循环的结束
				return a+2*b;
			}
			else {
				return func(n, b,a+2*b,c=c+1);    # 将每次循环的结果传入循环
			}
				
		}

http://www.niftyadmin.cn/n/1371789.html

相关文章

数据分析--数据分析是什么?

数据分析是什么?数据分析与数据挖掘之间的关系数据分析数据挖掘数据分析的基本步骤python和数据分析数据分析就是通过得到的数据,来发现各种规律之间的关系数据分析与数据挖掘之间的关系 数据分析 定义:简单来说,数据分析就是对…

数据分析--数据分析相关库

-数据分析相关库NumPypandasMatplotlibscikit-learnScrapySciPyNLTKstatsmodelsJupyterNumPy 是一个基础的科学计算库,是众多数据库的基础 提供了多维数组对象的数据结构,可以用于数据量较大情况下的数组与矩阵的储存和 计算,除此之外还提供…

数据分析--数据预处理

数据预处理数据分类定量数据定性数据数据质量数据清洗特征工程特征选择特征构建特征提取数据分类 定量数据 离散变量连续变量 定性数据 定序变量名义变量 集中趋势 主要测度是均值,中位数,和众数 离散程度 考虑变量的离散程度,主要考虑变…

蓝桥杯--关联矩阵

试题 算法训练 关联矩阵 资源限制 时间限制&#xff1a;1.0s 内存限制&#xff1a;512.0MB 问题描述   有一个n个结点m条边的有向图&#xff0c;请输出他的关联矩阵。 输入格式   第一行两个整数n、m&#xff0c;表示图中结点和边的数目。n<100,m<1000。   接下来…

封装NavLink组件

标签内的内容在路由组件里面自己存在了一个属性里面 在to里面传值然后存到props里面 获取是应该是 to{to}简写成 to 所以只要每个对应获取值就行了

数据分析--NumPy

NumPy多维数组对象&#xff1a;ndarray对象ndarray对象的创建ndarray对象的数据类型ndarray对象的索引&#xff0c;切片和迭代ndarray对象的shape操作ndarray对象的基础操作不足多维数组对象&#xff1a;ndarray对象 ndarray对象保存同一类型的数据&#xff0c;访问方式类似于…

数据分析--pandas 处理结构化数据

pandas 处理结构化数据基本数据结构SeriesDataFrameDataFrame对象的访问基于pandas的index对象访问操作pandas的index对象索引的不同访问方式调用方式调用方式间的区别特殊参数类型数学统计和计算工具统计函数&#xff0c;协方差、相关系数、排序窗口函数数学聚合和分组运算agg…

react 路由switch标签 exact严格匹配 二级路由引用第三方ui库样刷新样式丢失问题

Switch只显示匹配到的第一个路由 exact是Route下的一个属性&#xff0c;react路由会匹配到所有能匹配到的路由组件&#xff0c;exact能够使得路由的匹配更严格一些。 当需要配置的路径为这种时 刷新页面样式会丢失 解决&#xff1a;去掉路径上的这个点就行了 解决&#xff…