首页 > 编程知识 正文

数据结构图的遍历实验报告心得体会(图的遍历c语言数据结构实验报告,数据结构实验报告--图的遍历)

时间:2023-05-06 02:07:15 阅读:121579 作者:1093

江西理工大学

数据结构

实验报告

实验名称

遍历图

日期2014-12-01专业班计算机(中加) 131班地点信息学院621实验人王鹏伟

学号

同一个小组的人

单独完成

1520133713

//一、实验目的

1、按照老师要求实现图的深度和广度扫描; 2、学习图的深度和广度扫描规则。 二、实验要求1、任意给图;

2 .使用该算法输出该图的深度和广度的扫描结果。 三.实验内容

1、利用本14.1 definitions及课堂老师PPT讲述的知识解决扫描问题并输出结果。

四.实验过程和结果

部分实验代码:

//通过广度优先遍历实现BFS

私密void bfs ()//todo auto-generatedmethodstubfor (inti=0; i vexnum; I ) {

可视[ I ]=false; }

queue q=新链接列表(; for(intI=0; i vexnum; I ) {

if (! 可视[ I ] (可视[ I ]=true;

visit(I; q .添加(I );

while (! q.isEmpty () (intj=) integer (q.remove ) ).intValue );

()所有遍历结束后判断为不需要循环

if(temp.size(==vexnum ) q.removeall ) q; 返回; }for(intk=this.firstadjvex ) j; k=0; k=this

. nextadjvex(j,k ) ) if (! 可视[ k ]

q.add(k;

可视[ k ]=true;

visit(k;

}}}}}

深度优先遍历的实现DFS公共语音DFS () for(intI=0; i vexnum; I ) {

可视[ I ]=false; }

queue q=新链接列表(; for(intI=0; i vexnum; I ) if (! 可视[ I ] (可视[ I ]=true; visit(I; q .添加(I );

while (! q.isEmpty () (intj=) integer (q.remove ) ).intValue ); //所有遍历结束后判断为不需要循环的if(temp.size(==vexnum ) q.removeall ) q ); 返回; }for(intk=this.firstadjvex ) j; k=0; k=this

. nextadjvex(j,k ) ) if (! 可视[ k ]

q.add(k;

可视[ k ]=true;

visit(k;

}}}}}

有关进程的详细信息,请调试源代码。

实验结果:

广度优先遍历:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。