博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【2142】数据结构实验之图论二:基于邻接表的广度优先搜索遍历 (SDUT)
阅读量:6904 次
发布时间:2019-06-27

本文共 1650 字,大约阅读时间需要 5 分钟。

数据结构实验之图论二:基于邻接表的广度优先搜索遍历

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历)

输入

输入第一行为整数n(0< n <100),表示数据的组数。
对于每组数据,第一行是三个整数k,m,t(0<k<100,0<m<(k-1)*k/2,0< t<k),表示有m条边,k个顶点,t为遍历的起始顶点。 
下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。

输出

输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示BFS的遍历结果。

示例输入

16 7 00 30 41 41 52 32 43 5

示例输出

0 3 4 2 5 1
 
 
#include 
#include
#include
struct node{    int data;    struct node *next;}head[110];int t,k,m,n,a,b;int vis[110];int jie[110];int jin=0,chu=0;void bfs(int t){    struct node *p;    p=&head[t];    while(p!=NULL)    {        int i=p->data;        if(vis[i]==0)        {            jie[jin++]=i;            vis[i]=1;        }        p=p->next;    }    while(chu
data=b;            p->next=NULL;            if(q->next==NULL)                q->next=p;            else//链插法建表(见上图)            {                while(q->next->data
data)                {                    q=q->next;                    if(q->next==NULL)                        break;                }                p->next=q->next;                q->next=p;            }            q=&head[b];            p=(struct node *)malloc(sizeof(struct node));            p->data=a;            p->next=NULL;            if(q->next==NULL)                q->next=p;            else            {                while(q->next->data
data)                {                    q=q->next;                    if(q->next==NULL)                        break;                }                p->next=q->next;                q->next=p;            }        }        bfs(t);        for(i=0;i

转载于:https://www.cnblogs.com/jiangyongy/p/3971648.html

你可能感兴趣的文章
VMware虚拟机 Ubuntu 实用技巧 (1) -- 安装VMware Tool
查看>>
抽象类
查看>>
PGXC两阶段提交与事务一致性(1)
查看>>
Mysql 死锁
查看>>
oracle自动内存共享管理测试。修改 oracle 11g SGA_MAX_SIZE。
查看>>
漫谈开发前奏之编译器
查看>>
Codeforces Round #403 (Div. 2)
查看>>
酷酷的单词
查看>>
ProgressDialog的使用及逻辑处理
查看>>
plsql programming 04 条件和顺序控制
查看>>
Java学习之泛型和异常
查看>>
subplot 设置不一样的图片大小和位置
查看>>
PCA(matlab)学习,与记录
查看>>
项目管理培训的一些总结
查看>>
Hibernate 配置属性
查看>>
如何用Beyond Compare设置比较文件夹对齐方式
查看>>
01-HTML基础与进阶-day6-录像280
查看>>
SNMP 实战1
查看>>
linux TCP客户端指定端口号连接服务端
查看>>
RTP协议 Q&A
查看>>