遇到一个最短路径的问题,要求计算从A到K的最短路径,并且必须途径C。
想了很久也没有找到合适方案,哪位大神来支个招?sql或者plsql的方案都欢迎~
测试数据
create table TEST
(
ID VARCHAR2(2),
LINKID VARCHAR2(2)
);
insert into TEST (ID, LINKID)
values ('a','b');
insert into TEST (ID, LINKID)
values ('b','a');
insert into TEST (ID, LINKID)
values ('b','c');
insert into TEST (ID, LINKID)
values ('b','f');
insert into TEST (ID, LINKID)
values ('c','b');
insert into TEST (ID, LINKID)
values ('c','g');
insert into TEST (ID, LINKID)
values ('e','a');
insert into TEST (ID, LINKID)
values ('e','f');
insert into TEST (ID, LINKID)
values ('e','i');
insert into TEST (ID, LINKID)
values ('f','e');
insert into TEST (ID, LINKID)
values ('f','b');
insert into TEST (ID, LINKID)
values ('f','g');
insert into TEST (ID, LINKID)
values ('f','j');
insert into TEST (ID, LINKID)
values ('g','f');
insert into TEST (ID, LINKID)
values ('g','c');
insert into TEST (ID, LINKID)
values ('g','k');
insert into TEST (ID, LINKID)
values ('i','e');
insert into TEST (ID, LINKID)
values ('i','j');
insert into TEST (ID, LINKID)
values ('j','i');
insert into TEST (ID, LINKID)
values ('j','f');
insert into TEST (ID, LINKID)
values ('j','k');