【问题标题】:Applying shortest path algorithm on cities在城市中应用最短路径算法
【发布时间】:2014-01-25 17:17:56
【问题描述】:

我的记录中有 6 个城市。孟买、布洛尔、哈巴德、德里、钦奈、浦那。并记录每个城市的具体情况。

当用户访问我的页面时,我想根据位置相关性显示记录。我想为此使用最短距离算法。

从用户的IP,我可以得到他的位置(城市或语言)。我想计算用户与上述每个城市的距离。那个,我应该选择最近的那个来显示记录。

有更好的方法吗?我正在使用 php。

请在实施层面讨论...

【问题讨论】:

    标签: php algorithm


    【解决方案1】:

    您可以将您的城市表示为图中的节点,并将它们之间的距离表示为边上的权重,然后应用 Dijkstra 算法 (http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm) 如果您想获得前 5 个最短距离,可以使用 Yen 算法或 A* 之一(http://en.wikipedia.org/wiki/A*_search_algorithm)

    乐: 您必须创建一个加权图(定向与否,取决于您)。图中的节点可以是城市的名称(或者如果您有关于城市的更多详细信息,可以使用 City 类型的对象)。城市之间的距离将由它们之间的加权边缘表示。

    运行 Dijkstra,您将必须指定一个起始节点和一个结束节点(在您的案例中,您的用户当时所在的城市和他想去的城市)。该算法将返回最短距离,并且通过小实现可以打印从源到目的地的整个路径。

    【讨论】:

    • 你能谈谈实现层面的事情吗?
    • @Programming_crazy:查看更新后的回复并询问您是否还有其他问题。
    • @Programming_crazy 你可以选择它作为解决方案,如果它有用的话
    猜你喜欢
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    相关资源
    最近更新 更多