關於搜尋(DFS BFS)

2021-08-21 15:19:30 字數 1110 閱讀 6310

思想:

首先以乙個未被訪問過的頂點作為開始頂點,沿當前頂點的邊走到未訪問過的頂點;當沒有未訪問過的頂點時,則回溯到上乙個頂點,繼續試探訪問別的頂點,直到所有的頂點都被訪問過。

完整**:

#includeint a[10],book[10],n;

void dfs(int step)

for(i = 1;i <= n;i ++) }

return;

}int main()

思想:

首先以乙個未被訪問過的頂點作為起始頂點,訪問其所有相鄰的頂點,然後對每個相鄰的頂點,再訪問它們相鄰的未被訪問過的頂點,直到所有頂點都被訪問過。

完整**:

#includestruct note

;int main()

,book[51][51]=;

int next[4][2]=;

int head,tail;

int i,j,k,n,m,sx,sy,ex,ey,tx,ty,flag;

scanf("%d%d",&n,&m);

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)

scanf("%d",&a[i][j]);

scanf("%d%d%d%d",&sx,&sy,&ex,&ey);

head=1; tail=1;//佇列初始化

que[tail].x=sx;

que[tail].y=sy;

que[tail].s=0;

tail++;

book[sx][sy]=1;

flag=0;

while(headn||ty<1||ty>m)

continue;

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

if(tx==ex&&ty==ey)

}if(flag==1)

break;

head++;

} printf("%d",que[tail-1].s);//tail指向佇列隊尾的下乙個位置,所以需要-1.

return 0;

}

DFS BFS搜尋 題目

這篇博主寫的是圖的深搜 圖的dfs附 圖的深度優先遍歷 出處 一條魚 2011 12 26 include include struct node 圖頂點結構定義 typedef struct node graph 圖形的結構新型態 struct node head 9 圖形頂點陣列 int vis...

DFS BFS 搜尋訓練

hdu 1016 include include include using namespace std int prime 40 vis 40 num 40 n void checkprime void dfs int i for int c 2 c n c int main return 0 p...

DFS BFS 搜尋基礎

首先深搜 先看輸入格式 5 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 第一行輸入乙個數n,接下來輸入n n的數字矩陣,0代表房間,1代表牆,每個位置都可以往上下左右四個方向走 題意非常簡單,就是求以左上角為出發點所能到達的最多的房間數。inc...