邻接链表BFS广度优先搜索C语言

本文介绍了如何使用C语言实现图的邻接链表结构,并详细阐述了基于该结构进行BFS(广度优先搜索)的算法步骤,包括初始化队列、遍历节点及访问相邻节点的过程。
摘要由CSDN通过智能技术生成

广度优先搜索不同于深度优先搜索,广度优先搜索
先搜索当前定点的度,并生成,广度优先搜索树,

他的一个重要性质是可以,计算源节点到其他节点
的最短路径,是许多重要算法的原型,如单源最短

路径或是最小生成树算法。
C代码
void bfs(listpoint g,int s)
{
      int road[9],value[9];
	  listpoint m;
	  queuepoint q;
	  degreepoint n;
	  q = initqueue(q);
	  memset(road,0,sizeof(road));
	  memset(value,0,sizeof(value));
	  road[s] = 1;
	  m = g+s;
	  while(m  != NULL)
	       {
	       	   
	       	     printf("%d(%d) ",m->post,value[m->post]);
	       	     n = m->next.next;
	       	     
	       	     while(n != NULL)
	       	     {
	       	     	  if(road[n->post] == 0)
	       	     	      {
	       	     	      	   road[n->post ] = 1;
	       	     	      	   enqueue(q,g+n->post);
	       	     	   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值