- 35
- 0
- 约1.71千字
- 约 6页
- 2016-11-22 发布于贵州
- 举报
合肥工业大学离散学实验报告
实验一:最短路径算法实现
姓 名: 李亚鸣
学 号: 2014211590
班 级: 计算机科学与技术14-1班
实验地点: 三号实验楼1号机房
实验时间: 2015年9月26日
实验目的和要求
实验目的:深刻理解图论中两点之间最短路径求解的相关算法;并借助提供的实验平台完成编码,实现最短路径输出
*************
*************
理解Dijkstra算法实现最短路径算法,并利用所提供的MFC代码图形化显示。
初步了解部分基础MFC知识。
实验要求:
(1)理解Dijkstra算法并编码实现图中某一顶点到其它顶点最短路径的求解;
(2)理解Floyd-Warshall算法并编码实现图中任意两顶点之间最短路径的求解;
(3)可以写对编程的要求
(4)在待完善的MFC代码上补充Dijkstra算法的核心部分,并在图形上实现。
实验目的和要求必须在此基础上修改或补充,否则实验报告重写!!!
实验环境和工具
VisualC++6.0
实验结果
算法流程图
程序核心代码
template typename Type
void GraphType::ChangeWeight(int u,int v)
{
//请写出实现代码
int temp=D[u]+arcs[u][v];
if(tempD[v])
{
D[v]=temp;
pre[v]=u;
}
}
template typename Type
void GraphType::ShortestPath_DIJ()
{
init_source(verfrom) ; //对每个顶点的路径长度和前驱顶点初始化
int i,j,u,min;// u是当前循环比较得出的拟加入集合S的顶点,经过循环比较得出的最短路径D[j]存入min
bool S[MAX];//S[i]值为false代表i顶点还没被并入集合S
for(i=1;i=vexnum;i++) //初始化
S[i]=false; //顶点i还没有被并入S集合
for(i=1;i=vexnum;i++)
{
//请写出后续代码
D[i]=arcs[v0][i];
if(D[i]==INFINITY)
pre[i]=0;
else
pre[i]=v0;
}
D[v0]=0;
S[v0]=true;
for(i=2;i=vexnum;i++)
{
int temp=INFINITY;
u=v0;
for(j=1;j=vexnum;j++)
{
if(!S[j]D[j]temp)
{
u=j;
temp=D[j];
}
}
S[u]=true;
for(j=1;j=vexnum;j++)
{
if(!S[j]arcs[u][j]INFINITY)
ChangeWeight(u,j);
}
}
}
运行结果
运行结果分析
思考题(可选)
当修改循环变量从0到(顶点个数 - 1)时,程序运行结果是否正确?试分析原因。
实验心得
初步了解变量名以后,准备开始写核心部分的代码,但是具体的Dijkstra算法的代码还是有些难以实现,参考了书籍的思想,有了思路,开始动手写代码,Dijstra的核心还是贪心,所以每次要根据已经加入S集合的所有点,找出他们相邻的最短的一条边,最后的图形化实现并不是自己实现的,只是了解了基本的操作方式。总体来说,通过这次实验也更加熟悉了Dijstra算法的核心思想和具体的实现。
《离散数学》实验报告
您可能关注的文档
- 史上最全的公务员试题型,教你如何回答!包你面试成功!.doc
- 史君华《数据结构实验报告内容.doc
- 右岸副坝M5垫层浆专项施工方案.doc
- 司法救助的历史演与制度构建.doc
- 叶真副厅长在全省足口病电视电话.doc
- 司法考试三大本口大全(免费).doc
- 司法考试通关密押卷一含答案与解析.doc
- 司考与人大法学考的关系如何处理.doc
- 司考与人大法学考的关系如何处理?.doc
- 司考行政法 必考节问题总结.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)