- 1
- 0
- 约2.97千字
- 约 10页
- 2018-04-15 发布于浙江
- 举报
[2018年最新整理]图的邻接表存储实现及深度优先遍历
第四次实验报告
图的邻接表存储实现及深度优先遍历
学号0708140119 电子072 姓名 陆萍萍
问题描述
程序所能达到的基本功能
构建以邻接表形式存储的表及实现深度优先遍历并输出结果。
2、 输入的形式和输入值的范围:
根据提示进行输入:先输入要构建的表的结点数和边数,要求是整型;
输入各结点的代号,这里用char型,也可在源程序中改变其它形式;
输入各边的头结点和尾结点的代号;
输出的形式
若正常输入,则输出深度优先遍历的最后结果。用各结点的代码表示。
测试数据要求
第一组数据:
结点数和边数:4 4
结点名称:a b c d
边:a-b a-c b-c c-d
输出a-b-c-d-over!
第二组数据:
图如下:
输出
a-b-c-d-e-f-g-over!
概要设计
抽象数据类型,它们的作用
//图的结点类
templateclass T
class TVex
{};
//图类
templateclass T
class Graph
{}//链表存储
2主程序流程及模块调用关系
主程序模块:
void main
{
构造一个图,对T实例化(char)。
调用Graph中的Create函数;
调用Graph中的DFS函数;
}
(2)调用关系如下
核心算法的粗线条伪码
详细设计(要求主要变量和语句加注释)
抽象数据类型的实现:包括类型定义和各个操作的实现。
1) TVex的详细设计
(1)私有数据类型的定义
private:
T m_elem;
TLinklistint m_arcs;
2)Graph的详细设计
(1)私有数据类型的定义
private:
TVexT Vextex[maxnum];
int vexnum;
int arcnum;
int kind;
int symbol[maxnum];
(2)公有函数成员的定义
Graph();
void Create();
int LocateVex(T v);
void DFS();
void DFS_IN(int i);
(3)具体实现
★templateclass T
void GraphT::Create()
{
T v1,v2;
int i,j;
cout*********************基本信息*****************************endl;
cout请分别输入结点数和边数: ;
cinvexnumarcnum;
cout***********************结点***************************endl;
for(int l=0;lvexnum;l++)
{
cout请输入第l+1个结点的代号 ;
cinVextex[l].m_elem;
}
cout***********************边数***************************endl;
for(int k=0;karcnum;k++)
{
cout请输入第k+1边的头结点和尾结点 ;
cinv1v2;
i=LocateVex(v1);
j=LocateVex(v2);
Vextex[i].m_arcs.InsertLate(j);
Vextex[j].m_arcs.InsertLate(i);
}
cout************************结果**************************endl;
}
★templateclass T
int GraphT::LocateVex(T v)
{
for(int i=0;ivexnumVextex[i].m_elem!=v;i++);
if(i==vexnum)
return -1;
else
return i;
}
★templateclass T
void GraphT::DFS()
{
DFS_IN(0);
coutover!endl;
}
★templateclass T
void GraphT::DFS_IN(int i)
{
int index;
symbol[i]=1;
coutVextex[i].m_elem--;
for(int j=0;;j++)
您可能关注的文档
- [2018年最新整理]国家公共卫生信息系统建设方案.doc
- [2018年最新整理]国家公共卫生服务知识知识讲座.doc
- [2018年最新整理]国学常识题库.ppt
- [2018年最新整理]国家公务员面试专项精讲系列之综合分析能力.docx
- [2018年最新整理]国外奢侈家具品牌.doc
- [2018年最新整理]国外高端奢华家具饰品挂画布艺顶级配饰 软装设计方案素材【名师联.596期】.doc
- [2018年最新整理]国家基本公共卫生服务孕产妇保健和儿童保健.ppt
- [2018年最新整理]国家基本公共卫生服务规范(2011年版)高血压糖尿病部分及填表说明.doc
- [2018年最新整理]国家基本公共卫生服务规范-2型糖尿病患者健康管理.ppt
- [2018年最新整理]国家基本公共卫生服务规范0-6岁.ppt
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)