/*** @Author: Yeman* @Date: 2021-10-28-22:52* @Description:*/
public class Labyrinth {public static void main(String[] args) {//七行八列的迷宫地图int[][] map = new int[8][7];//设置墙for (int i = 0; i < 7; i++) {map[0][i] = 1;map[7][i] = 1;}for (int i = 0; i < 8; i++) {map[i][0] = 1;map[i][6] = 1;}map[2][1] = 1;map[2][2] = 1;//查看原地图System.out.println("原地图:");for (int i = 0; i < 8; i++) {for (int j = 0; j < 7; j++) {System.out.print(map[i][j] + " ");}System.out.println();}//走迷宫setWay(map, 1, 1);//查看走后的迷宫System.out.println("走过的:");for (int i = 0; i < 8; i++) {for (int j = 0; j < 7; j++) {System.out.print(map[i][j] + " ");}System.out.println();}}//使用递归寻找//约定0为还没走过,1为墙,2为通路,3为行不通的public static boolean setWay(int[][] map, int i, int j){if (map[6][5] == 2){return true;}else {if (map[i][j] == 0){map[i][j] = 2;//策略:下右上左if (setWay(map,i+1,j)){return true;}else if (setWay(map,i,j+1)){return true;}else if (setWay(map,i-1,j)){return true;}else if (setWay(map,i,j-1)){return true;}else {map[i][j] = 3;return false;}}else {return false;}}}
}

数据结构,Java实现递归回溯,寻找出迷宫路线,解决迷宫问题相关推荐

  1. 递归回溯——老鼠出迷宫

    目录 前言 设计思路 绘制地图 寻找出路 绘制路线 总结 前言 这是一道关于递归回溯的经典题目,在布下障碍的迷宫中,为老鼠朋友找到一条可以逃出困境的路线,本文将为大家详细讲解如何运行递归的方法让老鼠走 ...

  2. 数据结构与算法 - 递归回溯(迷宫问题)

    递归的概念 简单说就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码简介 递归的调用机制 递归能解决什么问题 递归需要遵守的重要规则 下面用代码来实现一个迷 ...

  3. C语言通路寻找,用C语言解决迷宫问题设计与寻找通路问题.pdf

    用c语言解决迷宫设计与寻找通路问题 摘 要:本课程设计主要解决设计一个迷宫以及在给出一组入口和出口的情况下,求出一条通路的问题.在课程 设计中,程序设计语言采用VisualC++6.0,数据结构采用顺 ...

  4. Java实现递归回溯,解决八皇后问题,数据结构与算法

    文章目录 八皇后问题 解决思路 代码实现 运行结果 八皇后问题 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例.该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8X8格的国际象棋上摆 ...

  5. 递归生成数独java_[leetcode] 37. 解数独(Java)(dfs,递归,回溯)

    1A 这个题其实15分钟左右就敲出来并且对了...但是由于我输错了一个数..导致我白白debug一个多小时.. 没啥难度,练递归-dfs的好题 class Solution { private int ...

  6. 残缺棋盘问题算法分析_javascript使用递归回溯算法和贪心算法解决马踏棋盘问题...

    马踏棋盘算法介绍和游戏演示 1.马踏棋盘算法也被称为骑士周游问题 2.将马随机放在国际象棋的8×8棋盘Board[0-7][0-7]的某个方格中,马按走棋规则(马走日字)进行移动.要求每个方格只进入一 ...

  7. 递归走迷宫java_在Java中的迷宫递归回溯

    嗨即时通讯新的网站很抱歉,如果这是一个重复的问题,但以前的任何问题似乎都不符合我的 我在迷宫结构中练习搜索算法,而我在递归回溯中的尝试不起作用 基本上,我在一本书Dietel第7卷上做了一个练习来创建 ...

  8. Java 数据结构和算法 - 递归

    Java 数据结构和算法 - 递归 什么是递归 背景:数学归纳法证明 基本递归 printing numbers in any base 它为什么有效 如何工作 递归太多是危险的 树 数值应用 模幂运 ...

  9. 蓝桥杯 2n皇后(java递归回溯)

    一.2n皇后问题 问题描述: 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后都不在 ...

最新文章

  1. IT行业老程序员的经验之谈:爬虫学到什么程度可以找到工作?
  2. oracle 查看 用户密码,oracle 查看用户密码的修改时间
  3. 电磁场与电磁波第一章 矢量分析
  4. 全球及中国医用腋拐行业竞争格局及供需前景预测报告2021年版
  5. UOJ #277 BZOJ 4739 定向越野 (计算几何、最短路)
  6. vue打包关闭console.log
  7. Apache Camel简化SOA实施进程
  8. Python3 与 C# 并发编程之~ 进程篇
  9. 北大阿里中科院提出细粒度人体姿态迁移方法,提升外观细节逼真度
  10. ASP动态网页开发中的WEB打印代码大全
  11. 计算机六年级基础知识,六年级计算机试题
  12. 【李宏毅2020 ML/DL】P80 Generative Adversarial Network | Feature Extraction
  13. QTP自动化测试最佳实践
  14. 【BZOJ 1082】[SCOI2005]栅栏 二分+dfs
  15. 如何在新系统下重玩老游戏
  16. 面向对象编程实例——句柄类的使用
  17. 前端 - token 是什么?为什么每次请求头(HEADS)里要携带它?
  18. 计算机网络1MB等于多少b,1mb等于多少kb?MB转化KB的算法 - 驱动管家
  19. 推荐使用的热电阻Pt100测温电路
  20. rbc系统基于通用服务器构建的,列控核心设 RBC系统介绍.doc

热门文章

  1. Spring系列合并
  2. 用信号量锁定:一个例子
  3. 使用Log4jdbc记录JDBC操作
  4. Spring MVC – Flash属性
  5. yum 如何知道从哪里下载包?
  6. MySQL 获取系统时间/系统日期/日期时间的函数
  7. java代码审计ssrf危险函数_某租车系统Java代码审计之后台注入漏洞分析
  8. 剑指 Offer 51-----59
  9. python float 精度_浅谈Python里面小数点精度的控制
  10. Facebook开源 C++11 组件库,真香!