广度优先搜索不同于深度优先搜索,广度优先搜索
先搜索当前定点的度,并生成,广度优先搜索树,
他的一个重要性质是可以,计算源节点到其他节点
的最短路径,是许多重要算法的原型,如单源最短
路径或是最小生成树算法。
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);