我本来不想做这么蛋疼的事情的,可是更蛋疼的是我看了王大神的博客然后中毒了!我发誓再!不!看!了!
不过问题本身还是有一点意思的,正好学过图论没有实现过dijkstra,刚好在慕课上又学了一点pl/sql。然后就这样一个题目做了一晚上然后还是不想睡觉,赶紧写点代码来压压惊。 图片出自http://blog.jobbole.com/70639/ 《真正统治世界的十大算法》 顶点可以忽略,对于有权有向边,一般必须的属性:起点、终点、距离,最后表建出来就是这样 create table EDGE 对于dijkstra算法来说是计算结果是从源点到其他顶点的最短距离以及最短路径,这个好像没办法用变量保存 create global temporary table DISTANCE -- Created on 2015/7/21 by cbwleft 最后在事务提交前执行查询,路径好像最后还得用递归统计一次。
比如说查询x到源点的最短路径
SELECT wm_concat(destination) FROM distance START WITH destination = 'x' CONNECT BY destination = PRIOR previous 结果是x,t,y,s |
相关文章
- 微信JS-SDK使用权限签名算法的服务端实现(.net版本)
- 使用指针实现常见排序算法选择排序,直接插入排序和冒泡排序
- 使用navicat实现sql server数据库到mysql数据库的定时数据同步任务
- Java使用OpenCV基于离散傅里叶变换算法实现-----图片添加盲水印
- VC++6.0新手如何使用MFC实现Bresenham算法画圆、画线
- Windows系统下配置深度学习Darknet框架使用YOLO神经网络算法实现目标检测(Windows10+VS+OpenCV3.4.0+CUDA9.0+cuDNN7.0)
- 使用DDPG算法实现cartpole 100万次不倒
- 使用case when,union all实现sql行转列、列转行
- 使用Navicat实现将Sql Server中的表导入到MySQL中对应的表中
- 使用C4.5算法实现决策树(Python)