- 53
- 0
- 约2.57千字
- 约 4页
- 2019-07-20 发布于浙江
- 举报
本科实验报告
课程名称: 算法设计与分析
实验项目:动态规划法求多段图问题
实验地点:
专业班级: 学号:
学生姓名:
指导教师:
实验三 动态规划法求多段图问题
实验目的
掌握动态规划算法的基本思想
掌握多段图的动态规划算法
选择邻接表或邻接矩阵方式来存储图
4、分析算法求解的复杂度。
实验内容
设G=(V,E)是一个带权有向图,其顶点的集合V被划分成k2个不相交的子集Vi,1i=k,其中V1和Vk分别只有一个顶点s(源)和一个顶点t(汇)。图中所有边的始点和终点都在相邻的两个子集Vi和Vi+1中。求一条s到t的最短路线。参考讲义p136图5-24中的多段图,试选择使用向前递推算法或向后递推算法求解多段图问题。
实验环境
程序设计语言:c++
编程工具:microsoft visual studio 2010
算法描述和程序代码
#include stdio.h
#include stdlib.h
#include conio.h
#include iostream.h
#define MAX 100
#define n 12
#define k 5
int c[n][n];
void init(int cost[]) //初始化图
{
int i,j;
for(i=0;i13;i++)
{ for(j=0;j13;j++)
{ c[i][j]=MAX;
}
}
c[1][2]=9; c[1][3]=7; c[1][4]=3; c[1][5]=2; c[2][6]=4; c[2][7]=2; c[2][8]=1;
c[3][6]=2; c[3][7]=7; c[4][8]=11; c[5][7]=11; c[5][8]=8; c[6][9]=6; c[6][10]=5;
c[7][9]=4; c[7][10]=3; c[8][10]=5; c[8][11]=6; c[9][12]=4; c[10][12]=2;c[11][12]=5;
}
void fgraph(int cost[],int path[],int d[]) //使用向前递推算法求多段图的最短路径
{ int r,j,temp,min;
for(j=0;j=n;j++)
cost[j]=0;
for(j=n-1;j=1;j--)
{ temp=0;
min=c[j][temp]+cost[temp]; //初始化最小值
for(r=0;r=n;r++)
{
if(c[j][r]!=MAX)
{
if((c[j][r]+cost[r])min) //找到最小的r
{ min=c[j][r]+cost[r];
temp=r;
} } }
cost[j]=c[j][temp]+cost[temp];
d[j]=temp; }
path[1]=1; path[k]=n;
for(j=2;jk;j++)
path[j]=d[path[j-1]];
}
void bgraph(int bcost[],int path1[],int d[])//使用向后递推算法求多段图的最短路径
{ int r,j,temp,min;
for(j=0;j=n;j++)
bcost[j]=0;
for(j=2;j=n;j++)
{ temp=12;
min=c[temp][j]+bcost[temp]; //初始化最小值
for(r=0;r=n;r++)
{
if(c[r][j]!=MAX)
{
if((c[r][j]+bcost[r])min) //找到最小的r
{
min=c[r][j]+bcost[r];
temp=r;
} } }
bcost[j]=c[temp][j]+bcost[temp];
d[j]=temp;
}
path1[1]=1;
path1[k]=n;
for(int i=4;i=2;i--)
{ path1[i]=d[path1[i+1]];
} }
void main()
{
您可能关注的文档
- 模电实验三-基本放大电路实验.doc
- 模拟试卷B-热工性能现场检测.doc
- 模拟试卷B-太阳能热水系统.doc
- 某集团年度绩效合同.doc
- 目标网---全球第一个帮您实现个人目标的社交网站.docx
- 纳米材料的发现发展及应用.doc
- 纳米材料的基本效应及应用.doc
- 纳米技术的应用.doc
- 纳税服务投诉形成的原因及应对策略.doc
- 逆变式双脉冲气保焊控制软件用户说明.doc
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)