L->|
A -> B ^ |
|__> C -> D-> G->X--| |
K |_> T | |_>Z
|___________|
我希望这幅小画能帮助我传达出我想要做的事情。
我有一个7000个位置的列表,每个位置都有一个未定义的但数量很少的门。每一扇门都是连接两个位置的桥梁。
参考上面的图表,我将如何找到从A到Z的通过门的最快路线?
我不需要完整的源代码,只需要psuedo代码就可以了。
显然你可以走A -> B
我们如何从Google Direction API建议的替代路线中获得默认情况下从A点到B点的最短距离路线?默认情况下,它根据当前的交通状况为我们提供最短持续时间的路线。我注意到如果你打开"provideRouteAlternatives=true",谷歌会响应多个替代路径,我想知道我们是否可以向google API发送一个参数,这样默认情况下它总是返回最短距离路径
我需要知道什么是最理想的旅行路径,每个人同时(假设4个小时)。这些人同时从A市开始(*见表)。
我有三个mysql表,如下所示:
表
people:
id name
1 People A
2 People B
3 People C
city:
id name
1 City A
2 City B
3 City C
... ...
26 City Z
distance:
fromCity toCity distance (km) time (appox. travel in minutes)
1 2
我已经可以使用Dijkstra的算法:找到两个顶点之间的最短路径。
但。我的一些边缘被用来作为“检查点”,因为在您必须通过至少一个检查点,才能找到一条路线。
有时,算法会找到一条不包含这些边缘检查点的路径.在这种情况下,我想找到2号。最短的路线--如果这条路线也没有检查点,那就找第三条。最短的路线,等等。
有什么办法让我开始吗?
编辑:
是否有可能在第一条路线上遍历所有的前辈,然后从前身运行Dijkstras到目的地(并且不包括先前的下一个顶点的原始选择)。这样我就能找到所有可能的路线,然后互相比较?
举例说明。
A=源Z=目的地
最短路径:-> B -> C -> D -&
我一直在调查关于必应地图的一点,因为我需要优化一些路线。每条路线有10个停靠点。我想根据必应地图的建议重新排序航点
我的代码是javascript
directionsManager = new Microsoft.Maps.Directions.DirectionsManager(map);
directionsManager.setRenderOptions({ itineraryContainer: document.getElementById('directionsItinerary') });
var startWaypoint = new Microsoft.
想象一下有个人在同一条街上跑了两次。但是,由于GPS并不是100%的精确性,这两条路线是不同的。您可以更好地理解下面的图片:
Red Line - First time run
Blue Line - Second time run
Black Line - Street
Dots - GPS coordinates (latitude and longitude)
我想要做的是确认这两条路线是一样的。有人知道吗?
我们的任务是找到到达该目的地的最短路径。
我们找不到最短的路线。权重中的第一个位置是开始坐标,结束是最后一个坐标。
double dijkstras(double weights[MAX_ARRAY_SIZE][MAX_ARRAY_SIZE], char output[], int *output_number_of_waypoints, int number_of_waypoints){
double route_length[number_of_waypoints];
int shortest_route_via[number_of_waypoints];
int i, cu