图的深度优先搜索/广度优先搜索(邻接表实现)
来源:互联网 发布:知乎暨南大学临床医学 编辑:程序博客网 时间:2024/06/06 07:34
//深度优先遍历图返回连通分量数-int dfstraverse(LinkedGraph q){ int i,count=0; for(i=0;i<q.n;i++) visitnode[i]=0; for(i=0;i<q.n;i++) if(!visitnode[i]) { printf("#DFS->CASE[%d]:\n",count); count++; dfs(q,i); } return count;}void DFS(LinkedGraph q){ int i,j; for(i=0;i<q.n;i++) { for(j=0;j<q.n;j++) visitnode[j]=0; printf("\n"); dfs(q,i); }}void bfs(LinkedGraph g,int i){ int j; EdgeNode *p; int queue[M],front=0,rear=0; printf("%c\n",g.adjlist[i].vartex); visitnode[i]=1; queue[rear++]=i;//输出被访问节点,并将其入队 while(front<rear)//当队不空 { j=queue[front++];//出队 p=g.adjlist[j].FirstEdge;//定为到该节点的第一条边 while(p) { if(visitnode[p->adjvex]==0)//如果该条边的顶点未访问 { printf("%c\n",g.adjlist[p->adjvex].vartex);//输出该边的顶点 queue[rear++]=p->adjvex;//把这条边的顶点入队 visitnode[p->adjvex]=1;//标记访问过该顶点 } p=p->next;//访问下一条边 } }}//广度优先遍历图返回连通分量数int bfstraverse(LinkedGraph g){ int i,count=0; for(i=0;i<g.n;i++) visitnode[i]=0; for(i=0;i<g.n;i++) if(!visitnode[i]) { printf("#BFS->CASE[%d]:\n",count); count++; bfs(g,i); } return count;}
0 0
- 图的深度优先搜索/广度优先搜索(邻接表实现)
- 图的深度、广度优先搜索(邻接表)
- 图深度优先搜索广度优先搜索,邻接表
- 图的邻接表表示、广度优先、深度优先搜索
- 图基本算法 图搜索基于邻接表的(广度优先、深度优先)
- 图的广度优先搜索(邻接表)
- 图的广度优先搜索和深度优先搜索(邻接链表表示)
- 深度优先搜索/广度优先搜索顶点之间的路径(邻接表)
- 图的广度优先搜索(BFS)、深度优先搜索(DFS)(邻接矩阵法和邻接表法java实现)
- 邻接表 邻接矩阵 广度优先搜索 深度优先搜索
- 图的邻接表和邻接矩阵的java实现(含深度优先搜索和广度优先搜索、强连通分量)
- 图的广度优先搜索(邻接表)
- 邻接表实现BFS广度优先搜索
- 图的深度优先搜索(邻接表)
- 邻接表图的深度优先搜索
- 图的深度(广度)优先搜索
- 22.基于 邻接表 表示的 深度优先搜索dfs 和 广度优先搜索bfs
- 邻接表--创建图、删除图、深度优先搜索、广度优先搜索---代码
- Page分页
- OC面向对象编程基础总结
- android 开发工具集合
- hdu 1227 简单dp+中位数的性质
- 彻底解决INSTALL_FAILED_UPDATE_INCOMPATIBLE的安装错误
- 图的深度优先搜索/广度优先搜索(邻接表实现)
- 大批量数据导入数据库,dbf导入oracle,csv导入oracle
- Linux系统安装
- Notification的使用以及实现效果
- linux 常用命令
- Android 学习笔记之实时保存数据-现场保护 onSaveInstanceState()
- 正则总结:JavaScript中的正则表达式
- 【LIS】代码记录
- Canvas API