使用pl / sql计算两个城市之间的最小距离

时间:2011-10-26 16:25:44

标签: oracle recursion plsql backtracking

我需要能够计算两个城市之间的最小距离,给出一个具有城市对之间距离的表格。两个城市可能没有直接连接,而是可能通过第三个城市连接等等。

以下是我的表格

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中的递归和回溯是如何工作的。

1 个答案:

答案 0 :(得分:3)

您可以尝试在PL / SQL中编写Dijkstra's algorithm

或尝试this SQL solution