递归三要素:
1、明确递归终止条件;
2、给出递归终止时的处理办法;
3、提取重复的逻辑,缩小问题的规模 。
1、1+2+3+…+n
import JAVA.util.Scanner; public class Recursion {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();System.out.println(sum(n));}public static int sum(int n) {if(n == 1) {return n;}else {return n + sum(n-1);}}}
2、1 * 2 * 3 * … * n
【java递归算法的实例最细讲解】import java.util.Scanner; public class Recursion {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();System.out.println(multiply(n));}public static int multiply(int n) {if(n == 1) {return n;}else {return n*multiply(n-1);}}}
3、斐波那契数列
前两项均为1,第三项开始,每一项都等于前两项之和 。即:1,1,2,3,5,8,…
import java.util.Scanner; public class Recursion {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();System.out.println(fun(n));}public static int fun(int n) {if (n <= 2) {return 1;}else {return fun(n-1) + fun(n-2);}}}
4、二叉树的遍历(前、中、后)
import java.util.Arrays;import java.util.LinkedList; public class MyBinaryTree {//二叉树节点private static class TreeNode{int data;TreeNode leftChild;TreeNode rightChile;public TreeNode(int data) {this.data = https://www.isolves.com/it/cxkf/yy/JAVA/2022-03-18/data;}}//构建二叉树public static TreeNode createBinaryTree(LinkedList
以上就是java递归算法实例的详细内容 。
如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,,咱们下期见 。
收藏 等于白嫖,点赞才是真情 。
推荐阅读
- JavaScript命名冲突不可避免?
- 含答案 全网最全的Java岗网络编程+异常处理面试题
- Java ssh实现远程服务器部署
- “顶级”java程序猿手把手教你快速启动Django项目 Django 应用程序
- 为什么总说Java的反射效率低?
- Java 工程师相见恨晚的神兵利器和使用技巧
- JAVA RSA加密解密 工具类
- JS函数式编程和递归探索:路由树的操作
- JavaScript 继承全解析
- VC编程实现MD5算法