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

Java方法递归

目录

1.方法递归调用

基本介绍 

递归能解决什么问题?

八皇后问题

递归举例

递归重要规则

练习 

2.递归调用应用实例-迷宫问题 

3.递归调用实例-汉诺塔

4.递归调用实例-八皇后问题 


1.方法递归调用

基本介绍 

简单来说,递归就是自己调用自己。 

例如:

递归是在函数里自己调用自己

递归能解决什么问题?

各种数学问题,8皇后,汉诺塔等。

八皇后问题

 recursion是递归的意思。

任一两个皇后都不能处于同一行,同一列,或者同一斜线上。

递归举例

 递归时,每调用一次函数,就会在栈空间开辟一块空间,当开辟的那块空间执行完,就回到上一层继续执行。

递归重要规则

 

每执行一个方法就会创建一个新的受保护的独立空间(栈空间)

练习 

斐波拉契数列就是除了第一个和第二个数以外,之后的数都是前两个数之和 

2.递归调用应用实例-迷宫问题 

 似乎是dfs,深度优先算法

 

按照下右上左的顺序在寻路。 

 不同的搜索策略使得得到的路线不同

如果是上右下左的话就会是这样。

3.递归调用实例-汉诺塔

小盘上面不能放比它大的圆盘。 

4.递归调用实例-八皇后问题 

使用栈来解决。

http://www.lryc.cn/news/414685.html

相关文章:

  • 目标跟踪那些事
  • 【Git】 如何将一个分支的某个提交合并到另一个分支
  • 【嵌入式之RTOS】什么是消息队列
  • 9-springCloud集成nacos config
  • 市场主流 AI 视频生成技术的迭代路径
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——1.c++入门(2)
  • 【Python系列】深入理解 Python 中的 `nonlocal` 关键字
  • Flask目录结构路由重定向简单实例讲解——轻量级的 Python Web 框架
  • 破解PyCharm插件更新难题:让IDE焕发新生
  • cmake常用命令学习
  • K8S可视化管理平台KubeSphere
  • Bugku-CTF-聪明的php
  • 【MySQL进阶】MySQL主从复制
  • 本地部署文生图模型 Flux
  • 谷粒商城实战笔记-127-全文检索-ElasticSearch-整合-测试复杂检索
  • 解锁PyCharm:破解依赖库导入之谜
  • JSON-Viewer插件:json格式查看器
  • HDFS块信息异常,spark无法读取数据
  • TCP协议概述
  • SpringSecurity-3(认证和授权+SpringSecurity入门案例+自定义认证+数据库认证)
  • 英国AI大学排名
  • 渗透测试与高级攻防技术(二)网络安全技术的前沿探讨:渗透测试与高级攻防
  • Windows系统下安装mujoco环境的教程【原创】
  • 【秋招笔试】2024-08-03-科大讯飞秋招笔试题(算法岗)-三语言题解(CPP/Python/Java)
  • 2024华数杯数学建模竞赛选题建议+初步分析
  • 大模型的经典面试问题及答案
  • nodejs环境搭建
  • C#基础:LINQ表达式的单独定义和编译使用
  • 前端面试:八股文系列(一)
  • 设施农业“AutoML“时代:大模型自动调参,让农业算法模型更简单易用