深度優先搜尋 2

2022-03-11 20:17:52 字數 878 閱讀 9454

走迷宮p81

ide qt creator 4.8.0

#include int startx,starty;  //起點座標

int p,q; //終點座標

int min = 99999999;

int n; //迷宮的行

int m; //迷宮的列

int a[51][51];

int book[51][51];

void dfs(int x,int y,int step);

int main()

}printf("請輸入起點座標:\n");

scanf("%d %d",&startx,&starty);

printf("請輸入終點座標:\n");

scanf("%d %d",&p,&q);

book[startx][starty] = 1;

dfs(startx,starty,0);

printf("最短步驟為:%d",min);

return 0;

}void dfs(int x,int y,int step)

, //向右走

, //向下走

, //向左走

//向上走

};int k;

int tx,ty;

//判斷是否到達終點

if((x == p) && (y == q))

return ;

}for(k = 0;k <= 3;k++)

//判斷該點是否已經在路徑中或是障礙物

if((book[tx][ty] == 0) && (a[tx][ty] == 0))

}return ;

}

廣度優先搜尋 深度優先搜尋

前言 這幾天複習圖論演算法,覺得bfs和dfs挺重要的,而且應用比較多,故記錄一下。廣度優先搜尋 有乙個有向圖如圖a 圖a廣度優先搜尋的策略是 從起始點開始遍歷其鄰接的節點,由此向外不斷擴散。1.假設我們以頂點0為原點進行搜尋,首先確定鄰接0的頂點集合s0 2.然後確定頂點1的集合s1 頂點2沒有鄰...

廣度優先搜尋,深度優先搜尋

深度優先搜尋 depth first search 簡稱dfs。最直觀的例子就是 走迷宮 廣度優先搜尋 每個頂點都要進出一遍佇列,每個邊也都會被訪問一次,所以 時間複雜度o v e 主要消耗記憶體的是visited prev陣列 queue佇列,所以 空間複雜度o v 深度優先搜尋 每條邊最多會被訪...

深度優先搜尋 廣度優先搜尋

深度優先搜尋 廣度優先搜尋 通過鄰接矩陣對圖進行深搜和廣搜 package com.neusoft.data.structure 深度優先搜尋 廣度優先搜尋 通過鄰接矩陣對圖進行深搜和廣搜 public class dfsbfs 初始化 邊 mmatrix new int vlen vlen for...