学习dijk最短路径中
#include<iostream>
#include<math.h>
#include<stdio.h>
#include<algorithm>
#include<time.h>
using namespace std; int map[100][100]={0};
int book[100]={0};
int dis[100]={0};//顶点
int n=0,m=0;
int minn=99999;
int u=0; void Dijk()
{
for(int i=1;i<=n;i++)
{
minn=99999;
for(int j=1;j<=n;j++)
{
if(!book[j] && dis[j]<minn)
{
minn=dis[j];
u=j;
}
}//找到最小的u book[u]=1;
for(int j=1;j<=n;j++)//松弛j点
{
if(dis[u]+map[u][j]<dis[j])
{
dis[j]=dis[u]+map[u][j];//修改
}
}
//book[i]=1;
}
} int main()
{
//freopen("Dijkstra_out.txt","r",stdin);
cin>>n>>m; int a=0,b=0; for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i==j)
{
map[i][j]=0;
}
else
{
map[i][j]=999999;
}
}
}//初始化 for(int i=1;i<=m;i++)
{
cin>>a>>b;
cin>>map[a][b];//读入边
} //初始化 for(int i=1;i<=n;i++)
{
dis[i]=map[1][i];
}//读入dis数组 // for(int i=1;i<=n;i++)
// {
// cout<<dis[i]<<" ";
// }
// Dijk(); for(int i=1;i<=n;i++)
{
cout<<dis[i]<<" ";
} // for(int i=1;i<=n;i++)
// {
// //for(int j=1;j<=n;j++)
// // {
// cout<<map[1][i]<<" ";
// // }
// //cout<<"\n";
// }//输出
//cout<<map[1][5]<<endl; cout<<(double)clock()/CLOCKS_PER_SEC; return 0;
}
学习dijk最短路径中的更多相关文章
- 转:ospf学习-----SPF最短路径算法
ospf学习-----SPF最短路径算法 常见的路由协议比如RIP.IGRP.BGP是距离矢量协议,OSPF和ISIS是数据链路状态协议.矢量协议路由器只知道本身和与自身相连的接口路由信息,矢量图只是 ...
- PHP的学习--在Atom中使用XDebug(Mac)
之前写过一篇博客<PHP的学习--在sublime中使用XDebug(Ubuntu)>,讲了在Ubuntu系统 sublime 中配置 XDebug,其实配置好之后,我也很少用,原因有两点 ...
- 各种报错各种坑 webpack让我在学习的过程中一度想要放弃
由于拓展部分不是必须的,只是可以增强用户体验,但是有些时候页面给分页预留的位置不够,这个时候我们就可以通过设置来除去这一部分 子分区由两种创建方法,一种是不定义每个子分区子分区的名字和路径由分区决定, ...
- 【腾讯Bugly干货分享】深度学习在OCR中的应用
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5809bb47cc5e52161640c5c8 Dev Club 是一个交流移动 ...
- 学习网页制作中如何在正确选取和使用 CSS 单位
在 CSS 测量系统中,有好几种单位,如像素.百分比.英寸.厘米等等,Web 开发人员很难了解哪些单位在何处使用,如何使用.很多人习惯了总是使用同一种单位,但这一决定可能会严重限制你的设计的执行. 这 ...
- JavaScript学习13 JavaScript中的继承
JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式 ...
- JavaScript学习12 JS中定义对象的几种方式
JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...
- Java学习-045-目录中文件拷贝
挺晚的了,直接上码.敬请各位小主参阅,若有不足之处,敬请指正,非常感谢! 目录文件拷贝源码: /** * <strong>目录拷贝</strong><br> * & ...
- 关于HTML中,绝对定位,相对定位的理解...(学习HTML过程中的小记录)
关于HTML中,绝对定位,相对定位的理解...(学习HTML过程中的小记录) 作者:王可利(Star·星星) HTML中 相对定位:position:relative; 绝对定位:position ...
随机推荐
- ubuntu下google 拼音输入法的安装
google拼音输入法安装 (1).获代替码:(没有git的先安装git:sudoapt-get install git-core) $>gitclone git://github.com/tc ...
- uva 748 Exponentiation 浮点数乘方运算 高精度水题
输入的前六位数表示一个小数,然后输入一个数表示几次方.要求用高精度算出结果. 高精度水题,主要注意处理小数点,先在输入时把小数点提取出来并记录位置,用普通乘法计算出结果后由后向前计算位置添加小数点. ...
- 后台特殊字符处理,ajax
Dictionary<string, string> d = new Dictionary<string, string>(); d.Add("price" ...
- UVA 1153 KEEP THE CUSTOMER SATISFIED
题意: 钢铁公司有N个客户的订单,每个订单有一个产量q(生产时间刚好也等于q)和订单完成截止时间.公司要求完成尽量多的订单. 分析: 先按截止时间d排序,然后维护一个已经选好的订单的优先队列,如果当前 ...
- C# 2 闰年平年 老狼几点了
作业 第一题 老狼几点了.凌晨,上午,下午,晚上. static void Main (string[] args) { //输入 Console.Write("老狼老狼几点了?" ...
- js的两种数据类型
js中的数据类型总体来说分为两种,他们分别是: 1 值类型(基本类型):数值型(Number),字符类型(String),布尔值型(Boolean),null 和 underfined 2 引用类型( ...
- 一个周末掌握IT前沿技术之node.js篇
一个周末掌握IT前沿技术之node.js篇 http://ittechnical.sinaapp.com/node-js-and-restful-api/ NodeJS入门 http://www.n ...
- git使用前配置
1. git config --global user.name "Trey" 2. git config --global user.email 164355949@qq.com ...
- mysql校对规则引起的不区分大小写
CREATE TABLE `staticcatalogue` ( `Source` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ...
- c语言字符串翻转系列
2013-10-25 最近碰到一道笔试题,是关于字符串翻转的.题目是:将一段英文翻转,但保留单词拼写,如给定字符串str="I am a student",返回为"stu ...