sql与最短路径算法

sql与最短路径算法

ID:22372323

大小:66.00 KB

页数:7页

时间:2018-10-28

sql与最短路径算法_第1页
sql与最短路径算法_第2页
sql与最短路径算法_第3页
sql与最短路径算法_第4页
sql与最短路径算法_第5页
资源描述:

《sql与最短路径算法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、SQL与最短路径算法>>教育资源库  题目:空间有若干个点,每个点之间的联系都是随机的,现求任意一个点(设为A)到另一任意点(设为Z)之间间隔最少其他点的最佳算法(可用SQL数据库)  约束:在一个点中只可以直接找出和它有直接联系的点  用途:通过朋友列表以最快的速度认识一个认识的人(MM/GG)  比如5的好友列表中有1,30,3  7的好友列表中有9,5,8  10的好友列表中有7,21,30  11的好友列表中有7,5,30  21的好友列表中有7,30,66  30的好友列表中有21,88,99  如果5要和7交朋友,则可通过5-11-7。而5-30-21-7是较长的路径。 

2、 各位大虾有什么绝招能在SQL里实现这算法?  --如果全部建立双向关联,可以试试看下面的语句declarettable(idint,f_idvarchar(20))insertintotselect5,'1,7,30,3'unionallselect7,'11,21,9,5,8'unionallselect11,'7,21,30'unionallselect21,'7,11,30,66'unionallselect30,'5,11,21,88,99'--select*fromtdeclarestarti

3、ntdeclareendintdeclarenodeintdeclarecountintdeclareresultvarchar(100)setcount=0setstart=5setend=11setresult=''declaretmptable(idint,f_idvarchar(20),stepint)insertintotmpselectstart,'',counttmp)beginsetcount=count+1insertintotmpselectdistincta.id,a.f_id,countfromta,tmpb(b.id),a.f

4、_id)>0anda.idnotin(selectidfromtmp)endselectresult=rtrim(count)+':'+rtrim(end)tmp(end),f_id)>0selectresult=rtrim(count)+':'+rtrim(end)+'/'+resultendselectresult='0:'+rtrim(start)+'/'+resultselectresult  /*  0:5/1:7/2:11  */  点评:上面的方法的缺点是不能列出所有的路径,只能

5、列出最短路径其中一条  5的列表中没有7,是不是可以认为5不认识7,那么5也不认识11,谈何5-11-7是最短路径?  --按照你说的逻辑,步骤如下  --1.建立查询函数CREATE FUNCTIONdbo.F_RouteSearch(STARTINT,ENDINT)RETURNSVARCHAR(200)ASBEGINDECLARENODEINTDECLARECOUNTINTDECLARERESULTVARCHAR(100)SETCOUNT=0SETRESULT=''DECLARETMPTABLE(IDINT,F_IDVARCHAR(20),STEPINT)INSE

6、RTINTOTMPSELECTSTART,(SELECTF_IDFROMLISTTMP)BEGINSETCOUNT=COUNT+1INSERTINTOTMPSELECTDISTINCTa.ID,a.F_ID,COUNTFROMLista,TMPb(a.ID)+',',','+b.F_ID+',')>0anda.IDnotin(SELECTIDFROMTMP)IFRO(COUNT)+':'+RTRIM(END)TMPWHERESTEP=COUNTANDCHARINDEX('12下一页>>>>这篇文章来自..,

7、。,'+RTRIM(END)+',',','+F_ID+',')>0SELECTRESULT=RTRIM(COUNT)+':'+RTRIM(END)+'→'+RESULTENDSELECTRESULT='0:'+RTRIM(START)+'→'+RESULTRETURNHANDLE:RETURNRESULTEND

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。