[发明专利]关系数据库环境下图中最短路径的查询方法有效
申请号: | 201210167376.2 | 申请日: | 2012-05-25 |
公开(公告)号: | CN102722546A | 公开(公告)日: | 2012-10-10 |
发明(设计)人: | 周家帅;高军;蒋晓;王腾蛟;杨冬青;唐世渭 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余长江 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 关系 数据库 环境 下图 中最短 路径 查询 方法 | ||
1.一种关系数据库环境下图中最短路径的查询方法,其步骤包括:
1)将图存储于关系数据库中,按照该图中边的权重将该图对应的表划分成若干子表;
2)根据查询请求中的源结点与目标结点建立已访问结点表,并为源结点和目标结点初始化需要拓展的子表;
3)采用宽度优先搜索方法对图中各个结点在选定的子表上进行迭代拓展;
4)所述迭代拓展终止后,继续在原图的所有边上进行一次补充拓展,得到最短路径。
2.如权利要求1所述的方法,其特征在于,步骤1)所述图为有向带权图或者无向带权图。
3.如权利要求1所述的方法,其特征在于,步骤1)进行所述划分时,使各子表包含权重落在一定范围内的边。
4.如权利要求1所述的方法,其特征在于,所述迭代拓展为双向拓展。
5.如权利要求1或4所述的方法,其特征在于,采用受限的宽度优先搜索方法,优先拓展权重较小的边。
6.如权利要求4所述的方法,其特征在于,所述已访问结点表中的每个结点u包含如下属性:nid,表示结点u的标识符id;
d2s,表示结点u距离源结点s当前的最短距离;
p2s,表示结点u到源结点s当前最短路径上的前一个结点;
fwd,用来引导结点u进行向前拓展时应选择的子表;初始化源结点的fwd为1,在第i次拓展之后,所有新拓展的结点的fwd设置为i+1;
d2t,表示结点u距离目标结点t当前的最短距离;
p2t,表示结点u到目标结点t当前最短路径上的下一个结点;以及
bwd,用来引导结点u进行向后拓展时应选择的子表;初始化源结点的bwd为1,在第i次拓展之后,所有新拓展的结点的bwd设置为i+1。
7.如权利要求6所述的方法,其特征在于:所述迭代拓展包含三种操作:
F操作:该操作从已访问结点中选出边界结点进行拓展,如果一个结点未在所有子表上完成拓展,则选其为边界结点;对于正向拓展,若当前是第i次拓展,则边界结点的fwd满足i-fwd+1小于等于子表的数目;对于反向拓展,若当前是第j次拓展,则边界结点的bwd满足j-bwd+1小于等于子表的数目;
E操作:该操作拓展选出来的边界结点,得到新拓展的结点,每次拓展只为边界结点选择一个子表进行拓展;对于正向拓展,若当前是第i次拓展,则为边界结点选择的拓展子表为第i-fwd+1个子表;对于反向拓展,若当前是第j次拓展,则为边界结点选择的拓展子表为第j-bwd+1个子表;
M操作:该操作合并新拓展出的结点与之前已访问的结点。
8.如权利要求7所述的方法,其特征在于,判断所述迭代拓展终止的方法为:
在第一次拓展完成后,以表示新拓展的结点中具有的最小d2s,后续的每次正向拓展,采用迭代计算的方法,等于其中Wunit表示划分的权重单位,min(d2s)表示第i次正向拓展的结点中最小的d2s;
在第一次拓展完成后,以表示新拓展的结点中具有的最小d2t,后续的每次反向拓展,采用迭代计算的方法,等于其中Wunit表示划分的权重单位,min(d2t)表示第j次反向拓展的结点中最小的d2t;
以minCost表示每次拓展完成后当前发现的最短距离,则当时,终止拓展。
9.如权利要求1或8所述的方法,其特征在于,所述补充拓展是使用原图的整个边表或所有子表的并集进行拓展。
10.如权利要求9所述的方法,其特征在于,根据所述已访问结点表中记录的p2s和p2t输出所述最短路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210167376.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:结构复用的蓝牙耳机插头
- 下一篇:一种分散式网络控制系统