DFS代码框架:
1 int a[105][105],v[105],n; 2 void DFS(int x) //从x进行深搜 3 { 4 v[x]=1; //将顶点x标记为已访问 5 for(int i=1;i<=n;i++) //对其他顶点i进行访问 6 { //i为x的邻接顶点,且未被访问 7 if(a[x][i]==1&&!v[i]) 8 { 9 递归搜索前的准备工作; 10 DFS(i); //将i作为顶点进行深搜 11 回退(结束条件); 12 杂项; 13 } 14 } 15 }
BFS代码框架:
1 int a[105][105],v[105],n; 2 void BFS(int x)//从点x进行广搜 3 { 4 v[x]=1;//将顶点x标记为已访问 5 将x入队; 6 while(队列不为空) 7 { 8 int k;//取出队首元素,设为k 9 for(int i=0;i<n;i++)//对其他顶点i 10 { 11 if(a[k][i]==1&&!v[i])//i为k的邻接顶点,且未被访问过 12 { 13 将顶点i标记为已访问过; 14 将顶点i入队; 15 } 16 }//end of for 17 }//end of while 18 }//end of BFS
标签:遍历,int,void,DFS,BFS,105 From: https://www.cnblogs.com/xdzxmuchen/p/16753503.html