2

我需要能够计算两个城市之间的最小距离,给定一个包含城市对之间距离的表格。两个城市可能不直接连接,而是通过第三个城市连接,依此类推。

这是我的表

SQL> desc city
 Name                                      Null?    Type
 ----------------------------------------- -------- ------------

 CITY_ID                                   NOT NULL NUMBER
 CITY_NAME                                 NOT NULL VARCHAR2(80)
 CITY_STATE                                         VARCHAR2(80)
 ACTIVE                                             CHAR(1)

SQL> desc connection
 Name                                      Null?    Type
 ----------------------------------------- -------- -------

 CITY1                                     NOT NULL NUMBER
 CITY2                                     NOT NULL NUMBER
 NO_OF_DAYS                                NOT NULL NUMBER

我不知道在 pl/sql 中递归和回溯是如何工作的。

4

1 回答 1

3

您可以尝试在 PL/SQL 中编写Dijkstra 算法。

或者试试这个 SQL 解决方案

于 2011-10-28T09:10:47.337 回答