图的广度优先搜索算法实现
来源:互联网 发布:rc4加密算法 c语言 编辑:程序博客网 时间:2024/05/18 02:11
#include <iostream>
using namespace std;
const int N=11;
struct node
{
int front;
int dis;
}front_point[N];//记录每个点到起点的距离和每个点的前驱
int graph[N][N];//用邻接矩阵来表示图
bool visited[N];//记录点是否被标记
void BFS(int x,int k)//广搜
{
int i;
bool flag=false;
for(i=0;i<N;i++)
{
if(graph[x][i]&&!visited[i])//寻找未被标记的点,且与x相连
{
front_point[i].front=x;
front_point[i].dis=k;
visited[i]=true;
flag=true;
}
}
if(!flag)
return ;
for(i=0;i<N;i++)
{
if(front_point[i].dis==k)
BFS(i,k+1);
}
}
int main()
{
freopen("input.txt","r",stdin);
int x,y,i;
while(cin>>x>>y)//输入图
{
graph[x-1][y-1]=graph[y-1][x-1]=1;
}
for(i=0;i<N;i++)//初始化
visited[i]=false;
front_point[10].dis=0;
front_point[10].front=-1;
visited[10]=true;
int k=1;
BFS(10,k);
for(i=0;i<N;i++)//输出结果
{
cout<<front_point[i].dis<<" "<<front_point[i].front<<endl;
}
return 0;
}
- 图的广度优先搜索算法实现
- [算法] 基本图算法的c++实现:广度优先搜索
- 图的遍历之深度优先搜索算法&&广度优先优先算法的实现
- 图的深度优先搜索和广度优先搜索算法、最小生成树两种算法 --C++实现
- 【经典算法】:图的深度优先搜索与广度优先搜索的实现
- 图的广度优先搜索----算法导论
- 图的基础算法-广度优先搜索/深度优先搜索
- java 实现 图的广度优先搜索
- 图的广度优先搜索--python实现
- 广度优先搜索的实现
- 广度优先搜索的实现
- 图的深度优先和广度优先搜索算法
- 图的搜索算法之广度优先搜索
- 《算法导论》中广度优先搜索的实现 c++
- 广度优先搜索迷宫路径算法的实现
- DFS深度优先搜索算法与BFS广度优先搜索算法的java实现
- 算法导论-图的搜索算法之深度优先搜索和广度优先搜索
- Java实现算法导论中图的广度优先搜索(BFS)和深度优先搜索(DFS)
- Windows and Navigator Paths
- Linux 进程管理
- oracle ebs 资料网址
- MISRA 2004 (先前作者写的MISRA文档是基于 1998版本,这个是基于更新的MISRA 2004版本)
- PopMenu加法
- 图的广度优先搜索算法实现
- 链表的处理(《数据结构》例题)
- reactos操作系统实现(88)
- 如何制作虚拟磁盘镜像和文件系统(英文版)
- java小练习(2)--打印1-100间的质数
- Oracle各版本在线文档网址
- 未能加载文件或程序集“Microsoft.Office.Interop.Excel , Version=11.0.0.0。。。”
- 程序设计、分析一点良好的习惯
- 跪求一段代码 自动判断IP 然后跳转网址