System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别是涉及一种确定路径的方法、装置、设备及介质。
技术介绍
1、图(graph)是一种数据结构,其表示由顶点和连接顶点的边构成的离散结构。图一般分为无向图、有向图、带权图、有向带权图等等,图1为本专利技术实施例所提供的一种有向带权图示意图,在本专利技术中,基于图1所示出的有向带权图,一般使用迪杰斯特拉算法确定图1中5个顶点之间的最短路径,具体为:当设置标号为1的点为顶点时,遍历剩余标号为2至4的点,并确定4个路径中的最短路径;若此时确定标号为2的点为距离标号为1的点的路径最短,则继续设置标号为2的点为顶点,遍历剩余标号为3至5的点,依次确定。然而,当图中的顶点数量过多时,每次都需要遍历剩余的顶点,导致使用迪杰斯特拉算法查找全部的顶点的时间复杂度较高,导致查找时间较长,进而导致确定路径的处理效率较低。
2、鉴于上述存在的问题,寻求如何快速且高效的确定图中两个顶点之间的最短路径是本领域技术人员竭力解决的问题。
技术实现思路
1、本专利技术的目的是提供一种确定路径的方法、装置、设备及介质,用于解决使用迪杰斯特拉算法查找全部的顶点的时间复杂度较高,导致查找时间较长,进而导致确定路径的处理效率较低的问题。
2、为解决上述技术问题,本专利技术提供确定路径的方法,应用于含有多个顶点的有向带权图,包括:
3、获取初始起点与全部顶点之间有边相连的互连路径值;初始起点在初始起点集合中;
4、获取满足预设条件的当前路径信息;当前路径信
5、判断路径终点是否处于初始起点集合中;
6、若不处于,则将路径终点确定为新的初始起点,并返回获取初始起点与全部顶点之间有边相连的互连路径值的步骤;
7、若处于,则获取下一个满足预设条件的下一个路径信息,并返回判断路径终点是否处于初始起点集合中的步骤;以便于确定全部路径。
8、另一方面,获取满足预设条件的当前路径信息包括:
9、对互连路径值进行优先级排序,获取满足预设优先级条件的当前路径信息;
10、对应地,判断路径终点是否处于初始起点集合中;
11、若不处于,则将路径终点确定为新的初始起点,并返回获取初始起点与全部顶点之间有边相连的互连路径值的步骤;
12、若处于,则获取下一个满足预设优先级条件的下一个路径信息,并返回判断路径终点是否处于初始起点集合中的步骤;以便于确定全部路径。
13、另一方面,获取满足预设条件的当前路径信息包括:
14、判断互连路径值是否为最小值;
15、若否,则结束;
16、若是,则对互连路径值按照大小顺序进行优先级排序,并获取最小值的互连路径值对应的当前路径信息;
17、对应地,判断路径终点是否处于初始起点集合中;
18、若不处于,则将路径终点确定为新的初始起点,并返回获取初始起点与全部顶点之间有边相连的互连路径值的步骤;
19、若处于,则获取下一个最小值的互连路径值对应的当前路径信息,并返回判断路径终点是否处于初始起点集合中的步骤;以便于确定全部路径。
20、另一方面,在获取初始起点与全部顶点之间有边相连的互连路径值之前,还包括:
21、获取有向带权图中的全部顶点的顶点个数;
22、判断有向带权图中顶点个数是否达到预设个数;
23、若有向带权图中顶点个数达到预设个数,则进入获取初始起点与全部顶点之间有边相连的互连路径值步骤;
24、若有向带权图中顶点个数未达到预设个数,则利用迪杰斯特拉算法确定全部路径。
25、另一方面,还包括:
26、设定随机数;
27、根据随机数对满足预设条件的当前路径信息中的当前路径值进行随机采样;
28、利用回溯算法确定校验路径值;
29、判断当前路径值是否与校验路径值一致;
30、若一致,则确定校验成功;
31、若不一致,则输出表征校验失败的提示信息。
32、另一方面,还包括:
33、建立待确定路径集合;
34、将有向带权图中的全部路径终点存放于待确定路径集合中;
35、对应地,当路径终点不处于初始起点集合中时,在将路径终点确定为新的初始起点之后,还包括:
36、从待确定路径集合中将路径终点移除;
37、采集路径终点并存储于初始起点集合中。
38、另一方面,有向带权图中的全部顶点数量为3,顶点分别为第一顶点、第二顶点、第三顶点,其中,在有向带权图中第一顶点、第二顶点、第三顶点顺次连接;
39、获取初始起点与全部顶点之间有边相连的互连路径值包括:
40、将第一顶点确定为初始起点;
41、获取第一顶点与第二顶点、第三顶点之间有边相连的对应的第一互连路径值、第二互连路径值;且第一互连路径值小于第二互连路径值;
42、获取第一互连路径值对应的当前路径信息;当前路径信息包括当前路径值和路径终点;其中,当前路径值为第一互连路径值,路径终点为第二顶点;
43、判断第二顶点是否处于初始起点集合中;
44、若第二顶点处于初始起点集合中,则获取第二互连路径值对应的当前路径信息;
45、若第二顶点不处于初始起点集合中,则将第二顶点确定为新的初始起点,并获取第二顶点与第三顶点之间有边相连的对应的第三互连路径值;
46、获取第三互连路径值对应的当前路径信息;当前路径信息包括当前路径值和路径终点;其中,当前路径值为第三互连路径值,路径终点为第三顶点;
47、判断第三顶点是否处于初始起点集合中;
48、若第三顶点处于初始起点集合中,则结束;
49、若第三顶点不处于初始起点集合中,调用第三顶点与第二顶点之间的第三互连路径值和第三顶点与第一顶点之间的第二互连路径值。
50、为解决上述技术问题,本专利技术还提供了一种确定路径的装置,应用于含有多个顶点的有向带权图,装置包括:
51、第一获取模块,用于获取初始起点与全部顶点之间有边相连的互连路径值;初始起点在初始起点集合中;
52、第二获取模块,用于获取满足预设条件的当前路径信息;当前路径信息包括当前路径值和路径终点;
53、第一判断模块,用于判断路径终点是否处于初始起点集合中;
54、若不处于,则触发第一确定模块,用于将路径终点确定为新的初始起点,并返回获取初始起点与全部顶点之间有边相连的互连路径值的步骤;
55、若处于,则触发第三获取模块,用于获取下一个满足预设条件的下一个路径信息,并返回判断路径终点是否处于初始起点集合中的步骤;以便于确定全部路径。
56、此外,该装置还包括以下模块:
57、另一方面,获取满足预设条件的当前路径信息包本文档来自技高网...
【技术保护点】
1.一种确定路径的方法,其特征在于,应用于含有多个顶点的有向带权图,包括:
2.根据权利要求1所述的确定路径的方法,其特征在于,所述获取满足预设条件的当前路径信息包括:
3.根据权利要求2所述的确定路径的方法,其特征在于,所述获取满足预设条件的当前路径信息包括:
4.根据权利要求1至3任意一项所述的确定路径的方法,其特征在于,在所述获取初始起点与全部所述顶点之间有边相连的互连路径值之前,还包括:
5.根据权利要求1所述的确定路径的方法,其特征在于,还包括:
6.根据权利要求1所述的确定路径的方法,其特征在于,还包括:
7.根据权利要求1所述的确定路径的方法,其特征在于,所述有向带权图中的全部所述顶点数量为3,所述顶点分别为第一顶点、第二顶点、第三顶点,其中,在所述有向带权图中所述第一顶点、所述第二顶点、所述第三顶点顺次连接;
8.一种确定路径的装置,其特征在于,应用于含有多个顶点的有向带权图,所述装置包括:
9.一种确定路径的设备,其特征在于,包括:
10.一种计算机可读存
...【技术特征摘要】
1.一种确定路径的方法,其特征在于,应用于含有多个顶点的有向带权图,包括:
2.根据权利要求1所述的确定路径的方法,其特征在于,所述获取满足预设条件的当前路径信息包括:
3.根据权利要求2所述的确定路径的方法,其特征在于,所述获取满足预设条件的当前路径信息包括:
4.根据权利要求1至3任意一项所述的确定路径的方法,其特征在于,在所述获取初始起点与全部所述顶点之间有边相连的互连路径值之前,还包括:
5.根据权利要求1所述的确定路径的方法,其特征在于,还包括:
6.根据权利要求1所述的确定路径的方法,其特征在...
【专利技术属性】
技术研发人员:曹泓庆,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。