当前位置: 首页 > news >正文

网站优化 检测响应速度济南金融行业网站开发

网站优化 检测响应速度,济南金融行业网站开发,兰州新区农投建设网站,wordpress 首页 修改目录 C求最短路径 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、运行结果 五、考点分析 六、推荐资料 C求最短路径 一、题目要求 1、编程实现 给定n个顶点,每个顶点到其它顶点之间有若干条路,选择每条路需要消耗一定…

目录

C++求最短路径

一、题目要求

1、编程实现

2、输入输出

二、算法分析

三、程序编写

四、运行结果

五、考点分析

六、推荐资料


C++求最短路径

一、题目要求

1、编程实现

给定n个顶点,每个顶点到其它顶点之间有若干条路,选择每条路需要消耗一定的能量,问从起点出发到达最后一个点消耗的能量最少是多少

例如:有5个顶点,共有8条路,如下图所示:

2、输入输出

输入描述:第一行顶点个数n和路数m(1<=n<=20,1<=m<=200)

                  接下来m行,每行三个数,分别为x,y,z;x和y为顶点,z为x到y所消耗的能量

输出描述:只有一行,一个整数,即从起点出发到达最后一个点消耗的最小能量

输入样例:

5 8
1 2 2
1 5 10
2 3 3
2 5 7
3 1 4
3 4 4
4 5 5
5 3 3

输出样例:

9

二、算法分析

  1. 从给定题目的初步分析可以看出,这是比较典型的带权图最短路径问题
  2. 小朋友们在解决这类题型的时候可以使用DFS+邻接矩阵的方式实现,
  3. 可能有些小朋友们会问,什么是邻接矩阵?
  4. 邻接矩阵是用来表示图的一种常用方法。如果图中有n个节点,则邻接矩阵是一个n×n的矩阵,矩阵中的每个元素aij表示节点i与节点j之间是否存在边。如果存在边,则aij的值为1或边的权重;如果不存在边,则aij的值为0或一个特定的标志值。
  5. 由于我们要求的是最短路径,所以可以设置邻接矩阵中对角线的值为0(即自己到自己),其它矩阵的值初始为一个极大值(方便后续进行判断)

三、程序编写

#include<bits/stdc++.h>
using namespace std;
const int Maxn = INT_MAX;//limits.h头文件
int mindis = Maxn,grid[101][101],visited[101];//mindis最短距离,gird二维矩阵,visited已经访问过
int n,m,x,y,z;	//n行  m条边,x、y为顶点,z为它们的距离
void dfs(int,int);int main()
{cin>>n>>m;//输入n接矩阵for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)if(i==j)grid[i][j] = 0;//自己指向自己距离为0elsegrid[i][j] = Maxn;//其它都初始为最大值}for(int i=1;i<=m;i++){//输入每条边及对应的距离cin >> x >> y >> z;grid[x][y] = z;}//从第一个点开始进行搜索visited[1] = 1;dfs(1,0);cout << mindis;return 0;
}
//深度搜索从当前点开始进行搜索,直到到达最后一个顶点
void dfs(int cur,int dis)
{if(cur == n){mindis = min(mindis,dis);//返回最短距离return;}for(int j=1;j<=n;j++){//矩阵中的值不是最大值,说明有路径可以走,同时访问的点是未访问过的if(grid[cur][j] != Maxn && !visited[j]){visited[j] = 1;//标记访问dfs(j,dis + grid[cur][j]);//继续下一个顶点深搜,距离为当前距离加上路径上的权值visited[j] = 0;//回溯访问标记}}
}

 本文作者:小兔子编程 作者首页:小兔子编程-CSDN博客

四、运行结果

5 8
1 2 2
1 5 10
2 3 3
2 5 7
3 1 4
3 4 4
4 5 5
5 3 39

五、考点分析

难度级别:难,这题相对而言难在题目分析,具体主要考查如下:

  1. 分析题目,找到解题思路
  2. 充分掌握变量和数组的定义和使用
  3. 学会深度搜索算法的原理和使用
  4. 学会邻接矩阵的表示和应用
  5. 学会输入流对象cin的使用,从键盘读入相应的数据
  6. 学会for循环的使用,在确定循环次数的时候推荐使用学会
  7. 掌握输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
  8. 学会分析题目,算法分析,将复杂问题模块化,简单化,从中找到相应的解题思路
  9. 充分掌握变量定义和使用、分支语句、循环语句和深度搜索算法的应用

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!

六、推荐资料

  • 所有考级比赛学习相关资料合集【推荐收藏】
http://www.yayakq.cn/news/532759/

相关文章:

  • 网站要备案吗中国关于影院建设的网站
  • 网站开发 项目计划书养生网站源码下载
  • 网站开发公司 上建设网站用什么语言开发稳定
  • 制作高端网站公司排名政务类网站
  • 网站建设精美模板下载想要自己做一个网站怎么做
  • 昆明市网站推广公司如何做自己的网站
  • 可以写代码的网站有哪些问题吗怎么在自己的电脑做网站
  • 唐山丰南建设局网站个人网站优秀案例
  • 铭万做的网站怎么样免费博客网站
  • 建设银行的网站你打不开免费网站从哪里申请
  • 遂宁门户网站建设先进工作单位网站注册免费
  • 福田附近网站建设产品
  • 江苏省建设部网站重庆市建筑工程信息官方网站
  • 福田建网站费用lamp环境做网站
  • HTML5做网站例子对话弹窗在网站上浮动
  • 个人备案可以做盈利网站吗wordpress 采集评论
  • 国外旅游网站排名wordpress文章编辑旧版
  • 做问卷的网站哪个好做汽车精品的网站
  • 红杭州网站建设杭州专业程序开发公司
  • 中国河北网站百度网址输入
  • 网站没有排名wordpress数据库写文章
  • 买个网站域名要多少钱博客网站登录
  • 政务网站建设建议wordpress 模板 外贸
  • 外贸建站新闻资讯店铺logo一键生成器
  • 市场营销与网络营销宁波最好的seo外包
  • 宁夏网站建设品牌公司建设政务网站报告
  • 哪家网站设计好阮一峰wordpress
  • 广州网站建设商城建设上海何时开放娱乐场所
  • 亚马逊网站建设历程局域网访问wordpress
  • 织梦个人网站模板电商网站的人员团队建设