下载此文档

贪心、分支限界、动态规划解决最短路径问题.docx


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
贪心、分支限界、动态规划解决最短路径问题
算法综合实验报告
学 号: 100407
姓 名:
黄琼莹
一、实验内容:
分别用动态规划、贪心及分支限界法实现对TSP问题(无向图)的求解,并
至少用两个测试用例对所完成的代码进行正
pinnode->cc = ;
pinnode->lcost = ;
pinnode->pNe_t = ;
pinnode->rcost = ;
pinnode->s = ;
pinnode->pNe_t = NULL;
for(int k=0;k_[k] = [k];
}
pre = pMiniHeap->pHead;
ne_t = pMiniHeap->pHead->pNe_t;
if(ne_t == NULL){
pMiniHeap->pHead->pNe_t = pinnode;
}
else{
while(ne_t != NULL){
if((ne_t->lcost) > (pinnode->lcost)){ // 发现一个优先级大的,则置于
其前面
pinnode->pNe_t = pre->pNe_t;
pre->pNe_t = pinnode;
break; // 跳出
}
pre = ne_t;
ne_t = ne_t->pNe_t;
}
pre->pNe_t = pinnode; // 放在末尾
}
}
// 出堆
Node_
RemoveMiniHeap(MiniHeap_
pMiniHeap){
Node_
pnode = NULL;
if(pMiniHeap->pHead->pNe_t != NULL){
pnode = pMiniHeap->pHead->pNe_t;
pMiniHeap->pHead->pNe_t = pMiniHeap->pHead->pNe_t->pNe_t;
}
return pnode;
}
// 分支限界法找最优解
void Traveler(){
int i,j;
int temp__[MA__CITY_NUMBER];
Node_
pNode = NULL;
int miniSum; // 所有结点最小出边的费用和
int miniOut[MA__CITY_NUMBER];
// 保存每个结点的最小出边的索引
MiniHeap_
heap = new MiniHeap; // 分配堆
InitMiniHeap(heap); // 初始化堆
miniSum = 0;
for (i=0;i0 City_Graph[i][j]lcost = 0;// 当前结点的优先权为 0
也就是最优
pNode->cc = 0;// 当前费用为0(还没有开始旅行)
pNode->rcost = miniSum; // 剩余所有结点的最小出边费用和就是初始
化的 miniSum
pNode->s = 0;// 层次为 0
pNode->pNe_t = NULL;
for(int k=0;k_[k] = Best_Cost_Path[k]; // 第一个结点所保存

贪心、分支限界、动态规划解决最短路径问题 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人飞鱼2019
  • 文件大小26 KB
  • 时间2022-05-18
最近更新