范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

导航软件如何规划ampampquot最短路线ampampquot?

  程序员视角科普生活知识
  hello 大家好
  我是浩说
  关于"最短路线"这个问题
  我们生活中有一个典型应用:
  使用导航软件帮我们规划从 出发地 到 目的地 的最短路线
  今天我们就来研究一下:导航软件如何计算"最短路线"
  抽象
  首先我们需要将导航软件中的地图抽象成一种数据结构:图
  关于 图 的介绍,我用一张图片做简单说明
  图 的更多详细内容兄弟们可以过一下我之前的文章
  于是我们可以这样对应:
  顶点 > 地图上的路口
  边 > 两个路口间的道路
  入度和出度 > 道路的方向
  边的权重 > 两个路口间的距离
  按照上面的思路我们抽象成图就是这样的:
  数据结构是为算法服务的,我们将地图抽象成数据结构 图 之后,
  下一步就是在该数据结构上设计出一种算法来计算出最短路线。
  点个赞,证明你还爱我
  算法
  针对求"最短路径"的场景,有一种经典的算法叫做:
  "Dijkstra 算法" 由荷兰计算机科学家 Edsger Wybe Dijkstra 在1956年发现
  这也就是我们本篇的重点了,
  算法问题很难用一两句话解释清楚,所以接下来我将分步骤拆解"应用Dijkstra 算法计算最短路径"的过程,
  大家需要从过程中感受和体会Dijkstra 算法的思路和原理。
  先将图中每个顶点用编号表示,目标就是计算顶点1到8的最短距离
  接着我们准备两个数组:
  一个数组存放图中除起点以外的所有顶点 V = {2,3,4,5,6,7,8}
  另一个数组先存放起点 S = {1}
  我们以起点1为原点,逐步统计其它顶点到原点的距离,无法直接到达的顶点距离用/表示
  1
  统计结果如下:   dist 1-2:270   dist 1-3:300   dist 1-4:/   dist 1-5:200   dist 1-6:/   dist 1-7:/   dist 1-8:/   然后通过比较上面的结果选择最小的值,也就是dist 1-5,至此 "Dijkstra 算法"会暂时认定:   顶点1 到5 的最短距离为200。   此时将顶点5从数组V中移除,并添加至数组S:   V = {2,3,4,6,7,8}   S = {1,5}   所以数组S中的顶点其实就是表示"已经找到从原点到对应顶点的最短距离"的顶点集。   经过此步骤后, "Dijkstra 算法"暂时认定找到了从原点1至顶点5的最短路径,我们用绿色表做标记。   2
  该步骤与上一步逻辑相同,但区别在于:   由于我们找到了到达顶点5的最短路径,所以之前无法到达的顶点(4、6),在该步骤就可以通过顶点5间接的到达了   于是再次统计距离   dist 1-2:270   dist 1-3:300   dist 1-4 > 1-5 (200) + 5-4(260):460   dist 1-5:200   dist 1-6 > 1-5 (200) + 5-6(310):510   dist 1-7:/   dist 1-8:/   除去已经被加入到数组S中的顶点,我们依然从剩下的距离中选出最短的,然后将该顶点从数组V移除并加入数组S   V = {3,4,6,7,8}   S = {1,5,2}   看到这里相信大家已经对"Dijkstra 算法"的逻辑有点感觉了,我们不妨简单梳理一下:   "Dijkstra 算法"需要准备两个数组,一个存放从起点至终点涉及到的所有顶点,另一个存放已经确定最短路径的顶点,   然后从原点开始,循环查找至下一顶点距离最短的顶点并将其从V移除然后添加至S中,直至V中顶点全部添加至S中。   当然,这其中还有一些细节需要注意,我们继续往下看。   3
  细节来了,注意看这里的顶点4,由于前两步我们打通了顶点2、5的最短距离,因此到达顶点4的路径有两条:   dist 1-4 >   1-5 (200) + 5-4(260):460   1-2 (270) + 2-4(210):480   而此时"Dijkstra 算法"将取距离小的作为最终结果。   最终统计的距离   dist 1-2:270   dist 1-3:300   dist 1-4 > 1-5 (200) + 5-4(260):460   dist 1-5:200   dist 1-6 > 1-5 (200) + 5-6(310):510   dist 1-7:/   dist 1-8:/   距离最短的顶点为3:   V = {4,6,7,8}   S = {1,5,2,3}   4
  这一步顶点6和上一步顶点4出现了一样的情况,   由于我们打通了顶点3,所以到达顶点6的路径变成了两条   dist 1-6 >   1-5 (200) + 5-6(310):510   1-3 (300) + 3-6(180):480   依然选择距离短的作为最终结果。   dist 1-2:270   dist 1-3:300   dist 1-4 > 1-5 (200) + 5-4(260):460   dist 1-5:200   dist 1-6 > 1-3 (300) + 3-6(180):480   dist 1-7:/   dist 1-8:/   顶点4加入S:   V = {6,7,8}   S = {1,5,2,3,4}   看到这一步相信大家对"Dijkstra 算法"的逻辑和一些细节已经有了大体的感受,后面的步骤就很好理解了,我们继续往下看。   5
  dist 1-2:270   dist 1-3:300   dist 1-4 > 1-5 (200) + 5-4(260):460   dist 1-5:200   dist 1-6 > 1-3 (300) + 3-6(180):480   dist 1-7 > 1-4 (460) + 4-7(130):590   dist 1-8:/   顶点6加入S:   V = {7,8}   S = {1,5,2,3,4,6}   6
  dist 1-2:270   dist 1-3:300   dist 1-4 > 1-5 (200) + 5-4(260):460   dist 1-5:200   dist 1-6 > 1-3 (300) + 3-6(180):480   dist 1-7:1-4 (460) + 4-7(130):590   dist 1-8:1-6 (480) + 6-8(100):580   V = {7}   S = {1,5,2,3,4,6,8}   7
  dist 1-2:270   dist 1-3:300   dist 1-4 > 1-5 (200) + 5-4(260):460   dist 1-5:200   dist 1-6 > 1-3 (300) + 3-6(180):480   dist 1-7:1-4 (460) + 4-7(130):590   dist 1-8:1-6 (480) + 6-8(100):580   V = {}   S = {1,5,2,3,4,6,8,7}   到这一步数组V已经为空,"Dijkstra 算法"就到此结束了。   兄弟们可能会有疑问,因为在下图中,由顶点7至顶点8这条路线并没有做判断,难道是"Dijkstra 算法"有问题吗?   我们回看一下刚才距离的计算结果   dist 1-7:1-4 (460) + 4-7(130):590   dist 1-8:1-6 (480) + 6-8(100):580   既然dist 1-7已经大于dist 1-8,   那么dist 1-7 + dist 7-8 必然是会大于dist 1-8的,所以这是符合逻辑的,无需再判断了。   到这里"Dijkstra 算法"就成功的帮我们规划出了最短路线:   dist 1-8 > 1-3 (300) + 3-6(180) + 6-8(100):580   听说好看的人都点赞分享了哦!

台积电张忠谋表态不看好美国造芯片,白忙一场,不可能成功近两年,美国一直想提振本土芯片制造业收拢半导体技术,从而提升美半导体产业的竞争力,最典型的莫过于邀请台积电赴美建厂。其实关于美国本土造芯片,台积电张忠谋对此事并不看好,但老美心意已最新研究!真菌的解剖结构多样性源于多细胞的复杂性真菌有各种各样的形状和大小。这项差异一直被称为群体的差异,还没被集体分析过。近日,布里斯托大学的科学家们在自然生态与进化上发表了一篇文章,发现真菌种类繁多的解剖结构源于多细胞复杂性郭台铭又要跑了?富士康将赴沙特建厂富士康,苹果御用工厂,电子代工行业的头部企业,但其近年来的口碑非常差,先是被网友冠以血汗工厂,后又在苹果的鼓动下,不断将生产线外迁。富士康不断外迁生产线的行为,激怒了不少国内网友,无效卖车?特斯拉订单积压,将停售部分车型,车主交付遥遥无期近期,在TroyTeslike发布的最新报告中,我们可以看出,特斯拉的订单积压已经达到了50万辆之多。其中,上海作为特斯拉的超级工厂,更是承担了26万辆以上的生产任务。而本次的积压荣威新能源iMAX8EV安全性能荣威新能源iMAX8EV实车到店,蓄势待发都说优秀是一种习惯,在荣威iMAX8的大家庭之中,保持超强的安全性能无疑也是一种习惯。荣威新能源iMAX8EV就很好的延续了这一习惯,尽管辛巴以助农直播为抓手,焦作马村科技助农促丰收村民脸上笑开颜直播电商是推动我国数字经济快速发展的重要力量,是数字经济最活跃最集中的新产业新业态新模式,是数字经济的重要组成部分,在推动农村电商发展,增加农民收入方面有着不可或缺的作用。基于此,充电5分钟就能续航200公里!传统车型真的没有优势了昨日,小鹏CEO何小鹏开了一场超级补能发布会,小鹏第1000座超充站落地,并且S4超充站首站上线,意味着纯电车型今后的补能效率将大大提高。充电五分钟,续航200公里的美好愿景也即将松下将把特斯拉电动车电池产量增加10盖世汽车讯据外媒报道,松下控股计划在2024年前,将向特斯拉供应的电动汽车电池的产量提高约10。据悉,松下正在增加为特斯拉旗舰车型Model3提供动力的2170圆柱形电池的产量。图三大运营商上半年日均净利约5。49亿元5G套餐渗透率提高中新网8月16日电(记者吴涛)16日,随着中国电信上半年财报的发布,三大运营商上半年业绩全部出炉。据统计,上半年,三大运营商营收共计9134。14亿元,净利润共计995。23亿元。注意!支付宝微信出现这些界面,马上停止转账现在很多人经常会用到支付宝微信转账在用支付宝或微信转账时如果你的手机出现这些界面一定要提高警惕因为你当前支付存在巨大风险这15分钟,非常关键!支付宝对风险交易进行15分钟拦截保护或JavaJava内存模型支持测试多线程软件测试多线程Java接缝是不可能的。错误取决于特定的时间,有时甚至取决于特定的处理器类型或JVM。但是Java有一个规范可以让我们测试多线程软件Java内存模型。Java内存模型使我
在这里,冻鱼倒插在雪里卖!游客震撼!吉兔祥瑞迎新春,位于黑龙江省抚远市的东极鱼市迎来了销售旺季。各类冻鱼琳琅满目,甚至倒插在雪里售卖,形成了一道独特的风景线。抚远市位于黑龙江和乌苏里江的交汇处,得天独厚的水资源孕育了浏阳河一泓碧水一路美景来源人民日报大小溪河及浏阳河沿线,浏阳河文化旅游产业带规划示意图。长沙市水利局供图浏阳河浏阳城区段。浏阳市融媒体中心供图核心阅读浏阳河是湘江的重要支流,上世纪80年代起,因工业污染春暖花开游龙岩这个年怎么过?好玩的好吃的都在这景区文旅活动未来城新春跳蚤节时间2023。1。251。28地点新罗区中央苏区金融街活动内容有一种年味,叫赶年集。是市集上的叫卖声,是手里握着冰糖葫芦,是满载而归的欣喜。一年之中最大不只有海!你见过这样的海南吗?海南岛长什么样?阳光?椰子?沙滩?她,有着一半是海水,一半是沙漠的昌化江口,甚是惊奇占据她17陆域面积的热带雨林国家公园,在此造了一座雨林迷宫藏在雨林深处的喀斯特地貌,为她塑造世间海南除了三亚万宁,儋州这个宝藏度假地,您千万别错过!很多人都看过小森林向往的生活生活向的电影与综艺,它们构造了一个理想的世界远离城市的喧嚣,去往山野之中,没有眼前的苟且,只有诗和远方。按捺不住想赴一场春意浪漫,云舍松涛海南中国村就能海南远创主动健康产业发展研究院在乐城揭牌新海南客户端南海网南国都市报1月19日消息(记者苏桂除)1月18日,海南远创主动健康产业发展研究院在乐城先行区正式揭牌成立。健康中国2030规划纲要指出,公民是自己健康的第一责任人海南工业投资连续六年快速增长新海南客户端南海网南国都市报1月19日消息(记者谭琦)2022年,海南深入开展产业投资提升年和基础设施推进年,政策措施取得了较好的效果。去年海南工业投资快速增长,占投资比重明显提升海南旅游攻略,快get起来头条创作挑战赛海南的交通各市县路程图先上图灵光一闪对于想来海南游玩的小伙伴,可以先了解一下各市县的距离以及所需时间,由此来决定是租车自驾游,还是直接高铁出行爱慕因为对于喜欢自驾游的数字乡村解决方案数字乡村解决方案来源网络智慧城市智慧校园智慧工地智慧景区智慧停车智慧园区智慧农业数字乡村智慧养老智慧酒店智慧医院人工智能视觉算法大数据物联网智慧信息化系统解决方案平台建设华远系统是罗山乡村春晚唱响乡村振兴美好生活河南日报农村版记者尹小剑翁应峰通讯员史笑妍陈萍村民搭台,文化唱戏。1月21日晚,罗山县周党镇吊桥村梦幻吊桥旅游综合体格外热闹。在火红的灯笼绚丽的灯光璀璨的烟花映照下,梦幻吊桥首届乡老杨说运维AIOps如何助力实现全面可观测性(上)从今天起记录我的2023互联网金融财经程序员前言嗨,今天是大年三十,大家是不是已经在家坐享团圆之乐了?还是说在奔向团圆的路上呢?不论如何,小编先祝大家新年如意安康,平安顺遂熟悉我们