当前位置: 首页 > article >正文

java 递归算法案例讲解

1、求1-n的和
public static int getSum(int n) {
if(n == 1)
return 1;
return n+getSum(n-1);
}

public static void main(String[] args){
    System.out.println(getSum(100));
    //5050
}

2、输出斐波那契数列
public static int getFibonacci(int n) {
if(n1)
return 1;
if(n
2)
return 1;
return getFibonacci(n-1)+getFibonacci(n-2);
}

public static void main(String[] args){
    for(int i = 1;i<=10;i++) {
        System.out.print(getFibonacci(i)+" ");
    }

//1 1 2 3 5 8 13 21 34 55
}
3、遍历二叉树(让用户输入数据,并排序输出)
class Node {
int value;
Node left;
Node right;
Node(int input){
value = input;
}
}

public class Main {

public static void put(Node node,int number) {
    if(number<=node.value) {
        if(node.left == null) {
            node.left = new Node(number);
        }else {
            put(node.left,number);
        }
    }else {
        if(node.right == null) {
            node.right = new Node(number);
        }else {
            put(node.right,number);
        }
    }
}

public static void showasc(Node node) {
    if(node.left!=null) {
        showasc(node.left);
    }
    System.out.print(node.value+" &#

http://www.kler.cn/a/390888.html

相关文章:

  • vue3+element-plus==> el-form输入响应式失效踩坑!!!!!!!!!!
  • 华为机试HJ39 判断两个IP是否属于同一子网
  • 前端知识点---Javascript的对象(Javascript)
  • Qt 实现文件监控程序
  • react的创建与书写
  • SQL练习(2)
  • Linux——简单认识vim、gcc以及make/Makefile
  • Python数据分析NumPy和pandas(二十六、数据整理--连接、合并和重塑 之三:重塑和透视)
  • uniapp路由与页面跳转详解:API调用与Navigator组件实战
  • 如何使用腾讯云GPU云服务器自建一个简单的类似ChatGPT、Kimi的会话机器人
  • OpenCV与AI深度学习 | 基于YoloV11自定义数据集实现车辆事故检测(有源码,建议收藏!)
  • vue中如何关闭eslint检测?
  • 【子串分值——贡献法】
  • 软考:去中心化的部署有什么特点
  • vue2面试题6|[2024-11-11]
  • 25浙江省考-专项刷题(数字推理)-错题本
  • 从0开始学docker (每日更新 24-11-10)
  • Qt 项目架构设计
  • 11/12Linux实验2
  • 【快捷入门笔记】mysql基本操作大全-SQL数据库
  • webpack loader全解析,从入门到精通(10)
  • NVR设备ONVIF接入平台EasyCVR私有化部署视频平台如何安装欧拉OpenEuler 20.3 MySQL
  • 微服务容器化部署实践(FontConfiguration.getVersion)
  • kafka面试题part-3
  • 发包人一直恶意拖延审计,施工人如何破局?
  • 信息安全工程师(82)操作系统安全概述