dijkstra_模板
代码说明
模板较为简单,
1.节点数目限制在500个以内,
2.解决的是选择某一节点到其他节点的最短路径(最后打印出来的也是这个结果)
3.考虑节点与节点之间只有一条边
4.考虑到最新的C++特性,使用scanf_s,可以自行修改为scanf,效果一致
5.原理与细节,代码注释详细
#include<iostream>
#include<cstdio>
using namespace std;
//记录点对点节点间的最短路径
//全局变量默认初始化
int e[500][500], dis[500];
bool visited[500];
const int inf = 99999999;
int main() {int n, m, c1;//n是节点数目,m是边数目//c1,c2是起始节点与终止节点scanf_s("%d%d%d", &n, &m, &c1);//for (int i = 0; i < n; i++) {// scanf_s("%d", &weight[i]);//}//初始化数组的fill方法fill(e[0], e[0] + 500 * 500, inf);//初始化所有的边都不存在,即无穷大;fill(dis, dis + 500, inf);int a, b, c;for (int i = 0; i < m; i++) {scanf_s("%d%d%d", &a, &b, &c);e[a][b] = e[b][a] = c;}dis[c1] = 0;for (int i = 0; i < n; i++) {int u = -1, minn = inf;for (int j = 1; j <=n; j++) {//细节,选择当前dis距离最近的节点if (visited[j] == false&&dis[j]<minn) {minn = dis[j];u = j;}}if (u == -1)break;visited[u] = true;for (int v = 1; v <=n; v++) {if (visited[v] == false && e[u][v] != inf) {if ( dis[u] + e[u][v] < dis[v]) {dis[v] = dis[u] + e[u][v];}}}}//printf("%d 与 %d距离为 %d", c1,c2,dis[c2]);for (int i = 1; i <= n; i++) {printf("%d ", dis[i]);}}
dijkstra_模板相关推荐
- VS Code 安装插件、自定义模板、自定义配置参数、自定义主题、配置参数说明、常用的扩展插件
1. 下载和官网教程 下载地址:https://code.visualstudio.com/ 官方教程:https://code.visualstudio.com/docs 2. 安装插件 安装扩展插 ...
- SpringBoot (三) :SpringBoot使用Freemarker模板引擎渲染web视图
什么是Freemarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而 ...
- SpringBoot-web开发(三): 模板引擎Thymeleaf
[SpringBoot-web系列]前文: SpringBoot-web开发(一): 静态资源的导入(源码分析) SpringBoot-web开发(二): 页面和图标定制(源码分析) 目录 1. 引入 ...
- 二分查找模板全面总结
二分查找 二分法的引入 情形1 1.X的平方根 2.搜索旋转排序数组 情形2 1.第一个错误的版本 2.寻找峰值 3.寻找旋转排序数组中的最小值 情形3 在排序数组中查找第一个和最后一个位置 当遇到查 ...
- Django 模板HTML转义和CSRF4.3
Django对字符串进行自动HTML转义,如在模板中输出如下值: 视图代码: def index(request):return render(request, 'temtest/index2.htm ...
- Django 模板继承4.2
模板继承 模板继承可以减少页面内容的重复定义,实现页面内容的重用 典型应用:网站的头部.尾部是一样的,这些内容可以定义在父模板中,子模板不需要重复定义 block标签:在父模板中预留区域,在子模板中填 ...
- Django 模板4.1
模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视 ...
- Django 视图和模板1.4
视图 在django中,视图对WEB请求进行回应 视图接收reqeust对象作为第一个参数,包含了请求的信息 视图就是一个Python函数,被定义在views.py中 #coding:utf-8 fr ...
- [JAVA EE] Thymeleaf 高级用法:模板布局,带参数的引用片段,表单验证,常用校验注解
模板布局 公共部分通常定义为模板布局:如页眉,页脚,公共导航栏.菜单等. 模板布局定义方法 布局页中用 th:fragment 定义模板片段,其他页面用 th:insert 引用片段 例如:foote ...
最新文章
- 再学 GDI+[56]: 路径 - Warp
- 数据库管理专才四步走
- 你真的了解Scrum吗?
- Fork / Join框架vs并行流vs.ExecutorService:最终的Fork / Join基准
- 丢失模式不联网有用吗_用眼过度,打开手机“护眼模式”真的有用吗?
- 【CSDN】-京东云部署java项目及性能测试
- 电路维修(信息学奥赛一本通-T1448)
- JavaScript常用数组操作
- opengl显示汉字
- 无线网卡802.11n、 Intel 5100 AGN
- Flutter实战1 --- 写一个天气查询的APP
- IDCC2018|北京福通四维科技有限公司副总经理胡海山:顺鑫集团智慧农业领域深耕的数据化转型之路...
- ARM指令集之乘法指令
- 您的计算机无法访问dota2服务器,提示“已连接至DOTA2游戏协调服务器,正在登陆中”该如何解决?...
- 基础回顾:10W+ 字 C 语言入门教程(上)
- 设计模式的艺术 结构性模式之组合模式
- 禁止spotlight索引外置硬盘或者网络硬盘
- 从百度“童年英雄的AI幻想”互动展说起,看AI如何赋能艺术?
- 移动IM产品发展史及趋势预测
- 【面经问题总结】小米日常实习 一面