java数据结构与算法分析学习1(递归函数)
来源:互联网 发布:淘宝宝贝打不开 编辑:程序博客网 时间:2024/05/21 12:47
当一个函数用它自己来定义时酒称之为递归(recursive)的。在编写递归函数时要遵循如下四个法则
1.基准情形。必须存在某些情况,在无须递归时就能解出。如
/**
* @authorliuyijie
* @deprecated f(x) = 2f(x-1)+x*x 递归算法:当x==0时不再调用递归此时跳出循环
* @param x
* @return x
*/
publicintf(int x){
if(x==0)
return 0;
else
return 2*f(x-1)+x*x;
}
2.不断推进。递归的调用必须向着某种基准情况不断循环推进。
/**
* @deprecated 此程序虽然也是一个递归程序可是由于不能向着一个能跳出循环的方向进行会导致死循环
* @param n
* @throws java.lang.StackOverflowError
* @return
*/
publicstaticint unMatch(int n){
if(n==0)
return 0;
else
return unMatch(n/3+1)+n-1;
}
3.设计法则。假设所有的递归调用都是能运行的。
4.合成效益法则。在求解一个问题是我同一实例时,切勿在不同的递归调用中做重复性的工作。
1 0
- java数据结构与算法分析学习1(递归函数)
- java数据结构与算法分析之递归
- Java数据结构与算法分析《六》递归
- Java数据结构与算法分析《七》递归的高级应用
- (数据结构与算法分析 一)------快速求幂算法,Java递归实现
- java数据结构与算法分析学习2(泛型)
- 数据结构与算法分析(Java语言描述)(15)—— 二分查找(递归与非递归)
- 数据结构与算法分析学习笔记--第四章(搜索二叉树,递归和非递归实现删除、插入)
- Java数据结构与算法分析(1)--算法复杂度概念
- 数据结构与算法分析笔记(4)——递归
- (c#)数据结构与算法分析 --递归
- 数据结构与算法分析笔记:第一章:递归
- 数据结构:递归 算法分析
- 数据结构与算法分析(JAVA版)
- 【数据结构与算法学习笔记】PART1:算法分析(计算,计算模型,大O记号,算法分析,迭代与递归,动态控制)
- 数据结构与算法(Java描述)-17、递归转化成非递归算法以及迷宫算法
- 数据结构与算法分析笔记与总结(java实现)--二叉树1:递归二叉树的序列打印练习题
- 递归 三角数字 Java数据结构与算法
- react-native 新建项目遇到的问题
- linux 内核模块简介
- window操作系统下scapy最新安装过程
- qt编译出错 /usr/bin/ld 找不到 -lGL
- 【TensorFlow】tf.nn.conv2d是怎样实现卷积的?
- java数据结构与算法分析学习1(递归函数)
- maven项目编译漏掉src/main/java下的xml配置文件
- ZOJ2482&&POJ2105-IP Address
- jdk1.8编译Android7失败!
- 登录超时重新登录
- 吃糖果
- JSON中result的root属性
- Python tips: 什么是*args和**kwargs?
- Problem