图的深度和广度优先遍历
数据结构课程实验报告
1
2
3
4
}
int GraphVexs(GRAPH *L)//求结点数 {
return(L->num); }
void GraphCreate(GRAPH *L)//创建图 { }
void GraphOut(GRAPH L)//图的输出 { }
void DFS(GRAPH g,int qidian,int mark[])//从第qidian个点出发深度优先遍历图g中能访问的各个顶点 {
int v1; mark[qidian]=1;
printf("%c ",g.vexs[qidian]); for(v1=0;v1<g.num;v1++) { }
5
if(g.arcs[qidian][v1]!=0&&mark[v1]==0)
DFS(g,v1,mark);
int i;
printf("\n图的顶点数目为:%d",L.num); printf("\n图的各顶点的信息为:\n"); for(i=0;i<L.num;i++)
printf("%c ",L.vexs[i]);
int i; GraphInit(L);
printf("请输入顶点数目:"); scanf("%d",&L->num);
printf("请输入各顶点的信息(单个符号):\n"); for(i=0;i<L->num;i++) { }
printf("图已经创建完毕!");
fflush(stdin);
scanf("%c",&L->vexs[i]);
L->num=0;
void GraphDFS(GRAPH g)//深度优先遍历图g中能访问的各个顶点 { }
void QueueInit(SEQQUEUE *sq)//建立空队列 {
sq->front=0; sq->rear=0; }
int QueueIsEmpty(SEQQUEUE sq)//判断队列是否为空 {
if (sq.rear==sq.front) return(1); else return(0); }
int QueueFront(SEQQUEUE sq,DATATYPE *e)//保存队头元素 { {
printf("queue is empty!\n");return 0;}
if (QueueIsEmpty(sq)) int qidian,v,v1,mark[maxsize]; printf("\n深度优先遍历:"); printf("\n请输入起点的下标:"); scanf("%d",&qidian); for(v=0;v<g.num;v++) { }
for(v=qidian;v<g.num+qidian;v++) { }
v1=v%g.num; if(mark[v1]==0)
DFS(g,v1,mark);
mark[v]=0;
else { *e=sq.data[(sq.front)]; return 1;} }
int QueueIn (SEQQUEUE *sq,DATATYPE x)//把元素x入队尾 {
if(sq->front==(sq->rear+1)%maxsize) {
printf("queue is full!\n"); return 0;
6
}
else { }
sq->data[sq->rear]=x;
sq->rear=(sq->rear+1)%maxsize; return(1);
int QueueOut(SEQQUEUE *sq)//删除队首元素 { } }
void BFS(GRAPH g,int v,int mark[])//从v出发广度优先遍历图g中能访问的各个顶点 {
int v1,v2; SEQQUEUE q; QueueInit(&q); QueueIn(&q,v); mark[v]=1;
printf("%c ",g.vexs[v]); while(QueueIsEmpty(q)==0) {
QueueFront(q,&v1); QueueOut(&q); for(v2=0;v2<g.num;v2++) { }
7
if(g.arcs[v1][v2]!=0&&mark[v2]==0) { }
QueueIn(&q,v2); mark[v2]=1;
printf("%c ",g.vexs[v2]);
if(QueueIsEmpty(*sq)) { } else {
sq->front=(sq->front+1)%maxsize; return 1;
printf("queue is empty!\n"); return 0;
8
相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




