数据结构实验之图论二:基于邻接表的广度优先搜索遍历
2016-08-02 09:37
471 查看
数据结构实验之图论二:基于邻接表的广度优先搜索遍历
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的遍历结果。示例输入
1 6 7 0 0 3 0 4 1 4 1 5 2 3 2 4 3 5
示例输出
0 3 4 2 5 1
提示
用邻接表存储。#include<bits/stdc++.h> using namespace std; struct node { int data; struct node *next; }tu[100],*p,*q,*t; void creat(node &head,int number)//有序建立链表 { int flag=0; if(head.next==NULL) { t=new node(); t->data=number; t->next=NULL; head.next=t; } else { p=head.next; q=&head; while(p!=NULL) { if(number<p->data) { flag=1; t=new node(); t->data=number; t->next=p; q->next=t; break; } else { q=p; p=p->next; } } if(!flag) { t=new node(); t->data=number; t->next=NULL; q->next=t; } } } int main() { int n,a,b,c; int v,u; int temp; int cache[100]; int cac; int visit[100]; scanf("%d",&n); while(n--) { cac=0; for(int i=0;i<100;i++) tu[i].next=NULL; memset(visit,0,sizeof(visit)); scanf("%d%d%d",&a,&b,&c); for(int i=0;i<b;i++) { scanf("%d%d",&v,&u); creat(tu[v],u); creat(tu[u],v); } queue<int>que; que.push(c); visit[c]=1; while(!que.empty()) { temp=que.front(); que.pop(); cache[cac++]=temp; p=tu[temp].next; while(p) { if(visit[p->data]==0){ que.push(p->data); visit[p->data]=1; } p=p->next; } } for(int i=0;i<cac;i++) if(i!=cac-1)printf("%d ",cache[i]); else printf("%d\n",cache[i]); } }
相关文章推荐
- SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 暑假集训 8.15 数据结构实验之图论二:基于邻接表的广度优先搜索遍历 sdutoj2142
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历 oj
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 数据结构实验图论:基于邻接矩阵/邻接表的广度优先搜索遍历
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历---2142
- sdutacm-数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历
- SDUT OJ数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- SDUT 2141 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历