日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

迷宫问题---递归解决

發(fā)布時(shí)間:2023/12/3 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 迷宫问题---递归解决 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目描述

代碼實(shí)現(xiàn)

package com.atguigu.recursion;/*** @創(chuàng)建人 wdl* @創(chuàng)建時(shí)間 2021/3/21* @描述*/ public class MiGong {public static void main(String[] args) {//先創(chuàng)建一個(gè)二維數(shù)組,模擬迷宮//地圖int[][] map = new int[8][7];//使用1表示墻//上下全部置為1for (int i = 0; i < 7; i++) {map[0][i]=1;map[7][i]=1;}//左右全部置為1for (int i = 0; i < 8; i++) {map[i][0]=1;map[i][6]=1;}//設(shè)置擋板,1表示map[3][1]=1;map[3][2]=1; // map[1][2]=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);//輸出新的地圖,小球走過(guò),并標(biāo)識(shí)過(guò)的地圖System.out.println("小球走過(guò),并標(biāo)識(shí)過(guò)的地圖情況");for (int i = 0; i < 8; i++) {for (int j = 0; j < 7; j++) {System.out.print(map[i][j]+" ");}System.out.println();}}//使用遞歸回溯來(lái)給小球找路//說(shuō)明//1.map表示地圖//2.i,j表示從地圖哪個(gè)位置開始找(1,1)//3.如果小球能到map[6][5]位置,則說(shuō)明通路找到//4.約定,當(dāng)map[i][j]為0表示沒(méi)有走過(guò),當(dāng)為1表示墻;2表示通路可以走 3.表示該點(diǎn)已經(jīng)走過(guò),但是走不通//5.在走迷宮時(shí),需要確定一個(gè)策略(方法)下->右->上->左,如果該點(diǎn)走不通,再回溯/**** @param map 表示地圖* @param i 從哪個(gè)位置開始找* @param j* @return 如果找到通路,就返回true,否則返回false*///使用遞歸回溯給小球找路public static boolean setWay(int [][]map,int i,int j){if(map[6][5]==2){//通路已經(jīng)找到OKreturn true;}else {if(map[i][j]==0){//如果當(dāng)前這個(gè)點(diǎn)還沒(méi)有走過(guò)//策略(方法)下->右->上->左走map[i][j]=2;//假定該點(diǎn)是可以走通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 {//說(shuō)明該點(diǎn)是走不通的,是死路map[i][j]=3;return false;}}else {//如果map[i][j]!=0,可能是1,2,3return false;}}}}

總結(jié)

以上是生活随笔為你收集整理的迷宫问题---递归解决的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。