【发布时间】:2019-02-05 03:05:06
【问题描述】:
这个问题更具概念性,因为我目前没有任何代码可以显示。但是,我想知道是否可以帮助我编写这样的代码,而不需要花费数年时间来计算程序。
基本上,想象一下翼装跳伞运动员需要至少 30 度的坡度才能将安全线飞到他的着陆点。我们如何才能找到他能在地球上乘坐的最长的飞行路线?
|----
| ----
| ---- A slope with a 3-1 glide angle
100m | ----
| ----
|_________________________
300m
我们的星球有大约 5.1 亿平方公里的表面积。假设我们想要每 200m 采集一个数据点,即每平方公里有 25 个数据点。这里的 n^2 解决方案显然不够好。
以下是我对潜在解决方案的看法: 循环遍历所有 (510*25) 百万个可能的起点。以图形的形式将这些点连接到它们的相邻点邻居。由于我们现在有一个互连点网格作为图形,我们可以删除所有不符合 30 度坡度要求的边。接下来我们使用一种算法在有向无环图中找到最长的路径。
https://www.geeksforgeeks.org/find-longest-path-directed-acyclic-graph/
我的解决方案会奏效吗?计算是否可行?对其他解决方案的想法?
【问题讨论】:
标签: algorithm google-maps maps gis