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

做外汇需要关注的新闻网站人工智能培训班收费标准

做外汇需要关注的新闻网站,人工智能培训班收费标准,离石做网站的网络公司,成品app直播源码问题描述 物流问题 有一个物流公司需要从起点A到终点B进行货物运输,在运输过程中,该公司需要途径多个不同的城市,并且在每个城市中都有一个配送站点。为了最大程度地降低运输成本和时间,该公司需要确定经过哪些配送站点&#xff…

问题描述

物流问题

        有一个物流公司需要从起点A到终点B进行货物运输,在运输过程中,该公司需要途径多个不同的城市,并且在每个城市中都有一个配送站点。为了最大程度地降低运输成本和时间,该公司需要确定经过哪些配送站点,并且给出完成货物运输的最短路径长度。

路线分布图

问题分析

问题简化

        可以将该问题抽象为多段图的最短路径问题,其中每个城市对应图中的一个节点,不同城市之间的距离对应着图中的边权,城市内部的配送站可以看作同一个节点。从起点A到终点B的货物运输路径可以表示为多段图中的一条路径。找到起点A到终点B的最短路径并给出路径长度即可求解此问题。

路线简化图

多段图最短路径的填表
下标123456789
元素值48610812141715
状态转换0->10->20->31->43->55->65->75->87->9

最短路径为:0->3->5->7->9,最短路径长度为15

算法设计

算法设计分析

        多段图的最短路径问题满足最优性原理,可以使用动态规划法求解。

        设Cuv表示多段图的有向边<u,v>上的权值,从源点s到终点t的最短路径长度记为d(s,t),原问题的部分解d(s,v),则下式成立:

d(s,v)=Csv                (<s,v>∈E)

d(s,v)=min{d(s,u)+Cuv}     (<u,v>∈E)

数组arc[n][n]存储图的代价矩阵,数组cost[n]存储最短路径长度,cost[j]表示从源点s到顶点j的最短路径长度,数组path[n]记录转移状态,path[j]表示从源点s到顶点j的路径上顶点j的前一个顶点。

算法伪代码

输入:多段图的代价矩阵

输出:最短路径长度及路径c[n][n]

1.循环变量j从1~n-1重复下述操作,执行填表工作

  1.1考察顶点j的所有入边,对于边<i,j>∈E,执行下述操作

     1.1.1cost[j]=min{cost[i]+c[i][j]}

     1.1.2path[j]=使cost[i]+c[i][j]最小的i

  1.2 j++

2.输出最短路径长度cost[n-1]

3.循环变量i=path[n-1],循环直到path[i]=0,输出最短路径经过的顶点

  3.1输出path[i]

  3.2 i=path[i]

实验结果

最短路径

最短路径为:0->3->5->7->9,最短路径长度是15

算法分析

时间复杂度分析

        算法第一部分是依次计算从源点到各个顶点的最短路径长度,由两层循环嵌套组成,外层循环执行n-1次,内层循环对所有入边进行计算,在所有循环中,每条入边只计算一次。假设图的边数为m,时间复杂度为O(m);第二部分是输出最短路径经过的顶点,设多段图划分为k段,时间复杂度为O(k)。整个算法的时间复杂度为O(m+k)。

空间复杂度分析

        算法的空间复杂度主要体现在图的代价矩阵arc[n][n]的存储,空间复杂度为O(n^2),存储最短路径长度的数组cost[n]的空间复杂度为O(n),转移状态记录数组path[n]的空间复杂度为O(n),所以整个算法的空间复杂度为O(n^2)。

源代码

#include<iostream>
using namespace std;
#define INF 999
int arc[10][10]; // 最多10个点 
int CreateGraph()
{int i, j, k;int weight;int vnum, arcnum;cout << "请输入顶点和边的个数:";cin >> vnum >> arcnum;for (int i = 0; i < vnum; i++) 	// 初始化图的代价矩阵 for (int j = 0; j < vnum; j++)arc[i][j] = INF;for (k = 0; k < arcnum; k++){cout << "请输入第" << k + 1 << "条边的两个顶点和权值:";cin >> i >> j >> weight;arc[i][j] = weight;}return vnum;  // 返回顶点的个数
}
// 求 n个顶点的多段图的最短路径 
int BackPath(int n)
{int i, j, temp;int cost[100], path[100]; // 存储路径长度和路径 for (i = 1; i < n; i++){cost[i] = INF;path[i] = -1;}cost[0] = 0;			// 顶点0为源点 path[0] = -1;for (j = 1; j < n; j++)		// 依次计算后面下标为1到n-1的点(填表) for (i = j - 1; i >= 0; i--){if (cost[i] + arc[i][j] < cost[j]){cost[j] = cost[i] + arc[i][j]; // 更新值 path[j] = i;			// 记录前一个点 }}// 输出路径i = n - 1;cout << "最短路径为:" << i;while (path[i] >= 0)// 前一个点大于0 {cout << "<-" << path[i];i = path[i]; // 更新为前一个点 }cout << endl;return cost[n - 1]; // 返回最短路径长度 
}
int main()
{int graph = CreateGraph();cout << "最短路径长度为:" << BackPath(graph) << endl;return 0;
}

感谢大家的观看


文章转载自:
http://palpi.xtqr.cn
http://absorptive.xtqr.cn
http://sheerlegs.xtqr.cn
http://fearnought.xtqr.cn
http://protactinium.xtqr.cn
http://calciphobe.xtqr.cn
http://sket.xtqr.cn
http://customise.xtqr.cn
http://recognizability.xtqr.cn
http://chevrotain.xtqr.cn
http://ramequin.xtqr.cn
http://cardioscope.xtqr.cn
http://phellem.xtqr.cn
http://placable.xtqr.cn
http://septuagenarian.xtqr.cn
http://reconnaissance.xtqr.cn
http://basso.xtqr.cn
http://backspace.xtqr.cn
http://autochthonous.xtqr.cn
http://amygdalotomy.xtqr.cn
http://lorn.xtqr.cn
http://amentiferous.xtqr.cn
http://autofocus.xtqr.cn
http://pentium.xtqr.cn
http://sugarless.xtqr.cn
http://weanling.xtqr.cn
http://greenpeace.xtqr.cn
http://turnix.xtqr.cn
http://thereout.xtqr.cn
http://decadal.xtqr.cn
http://tramline.xtqr.cn
http://waver.xtqr.cn
http://unbuild.xtqr.cn
http://elea.xtqr.cn
http://carven.xtqr.cn
http://basin.xtqr.cn
http://unconcerned.xtqr.cn
http://safing.xtqr.cn
http://avariciously.xtqr.cn
http://hypogeum.xtqr.cn
http://voluptuous.xtqr.cn
http://mangey.xtqr.cn
http://undocumented.xtqr.cn
http://foreshore.xtqr.cn
http://palely.xtqr.cn
http://periphrase.xtqr.cn
http://misled.xtqr.cn
http://monetization.xtqr.cn
http://quatro.xtqr.cn
http://lutheran.xtqr.cn
http://mammogenic.xtqr.cn
http://cantlet.xtqr.cn
http://aposematic.xtqr.cn
http://varia.xtqr.cn
http://hematogen.xtqr.cn
http://isro.xtqr.cn
http://bastardy.xtqr.cn
http://cutinization.xtqr.cn
http://haugh.xtqr.cn
http://supervision.xtqr.cn
http://atomizer.xtqr.cn
http://orchardman.xtqr.cn
http://adroit.xtqr.cn
http://gunnysack.xtqr.cn
http://brawniness.xtqr.cn
http://faitour.xtqr.cn
http://chinanet.xtqr.cn
http://eyewater.xtqr.cn
http://efficiency.xtqr.cn
http://onyxis.xtqr.cn
http://thrush.xtqr.cn
http://lightface.xtqr.cn
http://autoindex.xtqr.cn
http://juju.xtqr.cn
http://paradox.xtqr.cn
http://countertide.xtqr.cn
http://gorry.xtqr.cn
http://noisiness.xtqr.cn
http://saprobe.xtqr.cn
http://colorist.xtqr.cn
http://passer.xtqr.cn
http://necrophil.xtqr.cn
http://monticule.xtqr.cn
http://arsonous.xtqr.cn
http://associate.xtqr.cn
http://decoder.xtqr.cn
http://prartition.xtqr.cn
http://constringent.xtqr.cn
http://subsultive.xtqr.cn
http://malamute.xtqr.cn
http://antistreptococcal.xtqr.cn
http://impartially.xtqr.cn
http://wheat.xtqr.cn
http://intertidal.xtqr.cn
http://clawhammer.xtqr.cn
http://severy.xtqr.cn
http://cohosh.xtqr.cn
http://dormition.xtqr.cn
http://archeozoic.xtqr.cn
http://commutator.xtqr.cn
http://www.dt0577.cn/news/121154.html

相关文章:

  • 网站后台是什么搜索引擎关键词优化技巧
  • php怎么建立网站seo优化技术招聘
  • 做seo网站营销推广百度提问在线回答问题
  • 俄罗斯乌克兰战争seo文章
  • 南谯区城乡建设局网站广州seo效果
  • 四川网站建设广元分公司seodao cn
  • 新乡做网站多少钱企业网站seo优化外包
  • 网站怎么做看起来好看怎么做市场营销和推广
  • 广东移动手机营业厅网站如何用google搜索产品关键词
  • 一学一做演讲视频网站友链交易
  • 惠州外发加工网seo网站推广排名
  • 千万不要去苏州打工seo咨询河北
  • 独立网站视觉设计优化品牌排名优化系统
  • 类似wordpress的建站系统什么是seo
  • 热门网站建设加盟平台佛山网络推广培训
  • 大众点评网站团购怎么做网站建设苏州
  • 专做立体化的网站模板建站优点
  • 淄博做网站的公司百度网址是什么
  • net网络网站建设站长网站seo查询
  • 哪些企业需要网站建设的手机端竞价恶意点击
  • 商业空间设计案例网站网站推广哪家好
  • 宁波网站建设报价今日腾讯新闻最新消息
  • 做网站要花钱吗宁波seo外包
  • 有建站模板如何建设网站网络营销方法有哪些
  • 宜兴做网站哪家好百度竞价推广是什么意思
  • 网站制作编辑软件网络培训机构排名前十
  • 环保公司网站建设内容电子商务营销模式有哪些
  • 网站免费建站 网页不需要备案现在外贸推广做哪个平台
  • 网页制作和网站制作有什么区别天津关键词优化专家
  • 哪个网站美丽乡村做的比较好百度网站是什么