实验目的
1、理解分支限界法的剪枝搜索策略;
2、 掌握分支限界法的算法柜架;
3、 掌握分支限界法的算法步骤;
4、 通过应用范例学习动态规划算法的设计技巧与策略;
源程序

#include <iostream>
#include<vector>
#include<queue>
using namespace std;
typedef struct ArcCell {int u;int info;ArcCell(int a, int b){u = a;info = b;}
}ArcCell, AdjMaxtrix[100][100];
typedef struct {int data;int length;
}VerType;
typedef struct {VerType vexs[100];vector<ArcCell>arcs[1001];int vexnum;int arcnum;
}Graph;
Graph G;
queue<int> q;
int main()
{int m, n, t;cout << "输入顶点个数和弧边个数:" << endl;cin >> G.vexnum >> G.arcnum;for (int i = 1; i <= G.vexnum; i++){G.vexs[i].data = i;G.vexs[i].length = 10000;}cout << "输入弧及权重:" << endl;for (int i = 1; i <= G.arcnum; i++){cin >> m >> n >> t;G.arcs[m].push_back({ n,t });}G.vexs[1].length = 0;q.push(G.vexs[1].data);while (!q.empty()){int t = q.front();for (int i = 0; i < G.arcs[t].size(); i++){int k = G.arcs[t][i].u;if (G.vexs[t].length + G.arcs[t][i].info <= G.vexs[k].length){G.vexs[k].length = G.vexs[t].length + G.arcs[t][i].info;q.push(G.vexs[k].data);}}q.pop();}for (int i = 1; i <= G.vexnum; i++) cout << G.vexs[i].data << "——" << G.vexs[i].length << endl;return 0;
}

实验结果:

C++——《算法分析》实验肆——单源最短路径问题相关推荐

  1. C++——《算法分析与设计》实验报告——单源最短路径问题

    实验名称: 单源最短路径问题 实验地点: 实验目的: 1.  理解分支限界法的剪枝搜索策略: 2.  掌握分支限界法的算法柜架: 3.  掌握分支限界法的算法步骤: 4.  通过应用范例学习动态规划算 ...

  2. c语言单源最短路径问题实验报告,单源最短路径问题Dijkstra算法的c语言实现

    求单源最短路径是图论中比较基本的问题,通常的Dijkstra算法是按阶段进行的,每个节点标有处理和未处理状态的标记,设立一个数组,每个数组中第i个元素为源节点到第i个节点的最短路径(当然,该数组的初值 ...

  3. c语言单元最短路径贪心算法,单源最短路径 贪心算法

    <单源最短路径 贪心算法>由会员分享,可在线阅读,更多相关<单源最短路径 贪心算法(3页珍藏版)>请在人人文库网上搜索. 1.实验三 单源最短路径一.实验目的及要求掌握贪心算法 ...

  4. c语言单源最短路径问题实验报告,数据结构课程设计最短路径问题实验报告-20210320182652.docx-原创力文档...

    IMB standardization office[IMB 5AB- IMBK 08- IMB 2C] IMB standardization office[IMB 5AB- IMBK 08- IM ...

  5. 单源路径分支界限java_java单源最短路径算法

    . .. .. . 单源最短路径的 Dijkstra 算法: 问题描述: 给定一... 并 应用贪心法求解单源最短路径问题.环境要求对于环境没有特别要求.对于算法实现,可以自由选择 C, C++, J ...

  6. 贪心算法单源点最短路径例题c语言源代码,Dijkstra算法是解单源最短路径问题的一个贪心算法...

    问题描述 给定一个带权有向图 G=(V,E) ,其中每条边的权是一个非负实数. 另外,还给定 V 中的一个项点,称为源. 现在我们要计算从源到所有其他各项点的最短路径长度. 这里的长度是指路上各边权之 ...

  7. 你必须会的--Dijkstra算法--单源最短路径问题

    文章目录 一.算法原理 1.基本原理 2.如何保存最短路径? 二.算法实战一 1.测试 2.结果 二.算法实战2 Input Output Sample Input Sample Output 一.算 ...

  8. (单源最短路径)一文搞懂dijkstra算法

    前言 大家好,我是bigsai,今天给大家讲讲Dijkstra算法,下次拿着这个算法找女神少绕路,有女朋友的可以试试行不行的通. 对于Dijkstra算法,很多人可能感觉熟悉而又陌生,可能大部分人比较 ...

  9. 数据结构与算法—单源最短路径dijkstra算法

    介绍 对于dijkstra算法,很多人可能感觉熟悉而又陌生,可能大部分人比较了解bfs和dfs,而对dijkstra和floyd算法可能知道大概是图论中的某个算法,但是可能不清楚其中的作用和原理,又或 ...

最新文章

  1. 在CentOS 6.9 x86_64的nginx 1.12.2上开启标准模块ngx_http_map_module实录
  2. leetcode算法题--只有两个键的键盘
  3. 拥有属于你的“尬聊”机器人
  4. P1368-工艺【最小表示法】
  5. 【DS】线段树HDU-1166
  6. java udp 线程,Java中的UDP DatagramSocket线程的高CPU使用率
  7. 上传到服务器的图片访问的时候提示403 You don't have permission to access
  8. C++/ python 计算硬币正面朝上的概率
  9. 基于Python实现的DHT嗅探器
  10. 洛谷 P5056 【模板】插头dp
  11. Qualcomm MSM8937 dual DSI 笔记
  12. 计算机网络分层结构概述
  13. HTTP Live Streaming直播
  14. 转载好用的小工具 【who-lock-me】
  15. 小兮码 linux版本,【图片】单字利器:二笔顶功——小兮码【输入法吧】_百度贴吧...
  16. matlab等距偏置曲线,144 偏置曲线命令详解
  17. NPOI读取Word模板并保存
  18. 毕业设计 Stm32云平台的智能病房监控系统
  19. OpenCL Reduction操作
  20. Ryan's zone微信公众账号

热门文章

  1. 你值得掌握的 Git分支等 常用命令 (持续更新中)
  2. HTML中id、name、class 区别
  3. MOSS之:DataForm Web Part解析
  4. 实现 tomcat 热加载证书
  5. 图论算法(一)--最短路径的DFS/BFS解法(JAVA )
  6. 查找算法——折半查找(JAVA)
  7. linux下文件删除不了
  8. php filespl,PHP SPL--遍历目录
  9. 在电脑上显示未知发布者怎么办_电脑开机后显示器黑屏只有鼠标能动,怎么办呢?...
  10. fanuc roboguide_ROBOGUIDE软件:机器人产线输送带输送物料虚拟仿真操作