深度优先搜索_基于邻接矩阵
来源:互联网 发布:python实现支付宝 编辑:程序博客网 时间:2024/06/05 04:34
//深度优先搜索算法//procedure DFS(G:带顶点v1,...vn的连通图)//T:=只包含顶点v1的树//visit(v1)//------------------------------------////procedure visit(v:G的顶点)//for 与v相邻并且还不在T中的每个顶点w//begin// 加入顶点w和边{v,w}到T// visit(w)//end#include <iostream> using namespace std; //012345分别表示v0 v1...... int v;//////点数目 int edge;///边数目 int j=0; int** draw(int* &t);//绘图 void DFS(int **a,int head,int *T);//深度优先搜索void visit(int **a,int head,int *T);//visitint no_T(int num,int *T);//判断是否访问过了int main(int argc, char const *argv[]) { int *T; int**a=draw(T); //------------------------------------------------------------------------// for (int i = 0; i < v; ++i)//v个访问始点{ j=0; DFS(a,i,T); cout<<endl;} delete []a; delete []T; return 0; } int** draw(int* &t)//绘图 { int i,j; cin>>v>>edge;///输入点数目和边数目 int **a=new int*[v]; for ( i = 0; i < v; ++i) a[i]=new int[v]; t=new int[v+1]; for ( i = 0; i < v; ++i) for ( j = 0; j < v; ++j) a[i][j]=0; int spot1,spot2; for ( i = 0; i < edge; ++i) { cin>>spot1>>spot2; a[spot1][spot2]++; a[spot2][spot1]++; } ///-------------------------------------------------------------/// for ( i = 0; i < v; ++i) { for ( j = 0; j < v; ++j) { cout<<a[i][j]<<" "; } cout<<"\n"; } cout<<"\n"; return a; } void DFS(int **a,int head,int *T){ cout<<head<<" ";//始点 T[j++]=head; visit(a,head,T);}void visit(int **a,int head,int *T){ for (int i = 0; i < v; ++i) { if(a[head][i]!=0 && no_T(i,T))//有路并且未访问过 { cout<<i<<" "; T[j++]=i; visit(a,i,T); } }}int no_T(int num,int *T){ for (int i = 0; i < j; ++i) { if (num==T[i]) return 0; } return 1;}/*570 10 20 31 41 32 33 4图0 1 1 1 01 0 0 1 11 0 0 1 01 1 1 0 10 1 0 1 0v个结点0 1 3 2 41 0 2 3 42 0 1 3 43 0 1 4 24 1 0 2 3Press any key to continue*/
0 0
- 深度优先搜索_基于邻接矩阵
- 关于基于邻接矩阵的深度优先搜索
- 基于邻接矩阵的深度优先搜索遍历
- 广度优先搜索_基于邻接矩阵
- 基于邻接矩阵实现的DFS深度优先搜索
- 邻接矩阵的深度优先搜索
- 基于邻接矩阵的无向图构造,以及宽度优先、深度优先搜索(Java)
- 图的深度优先搜索(邻接矩阵)
- 邻接矩阵表示的深度优先搜索
- 图的深度优先搜索(邻接矩阵)
- C/C++: 邻接矩阵 深度优先搜索
- [数据结构] 图的邻接矩阵深度优先搜索
- 深度优先搜索 DFS(邻接矩阵表示)
- DFS--深度优先搜索--图的邻接矩阵
- 邻接矩阵的广度优先搜索和深度优先搜索
- 邻接表 邻接矩阵 广度优先搜索 深度优先搜索
- 邻接矩阵实现深度优先搜索,广度优先搜索
- 基于邻接矩阵的广度优先搜索遍历
- HDU 1041(递推+大数)
- 将matlab 生成的mat矩阵存储到txt中。
- UVA 11714 - Blind Sorting(推理贪心)
- 自己写 NSManagedObjectModel NSPersistentStoreCoordinator NSManagedObjectContext
- HDU 1042(大数)
- 深度优先搜索_基于邻接矩阵
- Java字符串的大小写转换与Locale
- 广度优先搜索_基于邻接矩阵
- [Java] Spring3.0 setter 注入 / 留印象构造方法注入 7、8、9.avi
- 深入Mysql字符集设置
- 黑马程序员_网络编程知识总结
- 小公司技术管理者的点滴--考勤
- 基于Multiple instance learning的visual tracking
- 【北京圣思园学习笔记】第06讲:流程控制语句 (Flow Control Statement)