不求代码,但求思路

N_Sev7 2014-03-19 06:54:54
加精
大家听说过最短路径计算,
相信很多人也了解,

现在我有一个问题是这样的,

我想计算从北京到广州的具体路线(数据量海大)

该如何计算?

补充一下:不进行升层探索!

为了知识所有权的问题,给点思路即可!

...全文
6255 126 打赏 收藏 转发到动态 举报
写回复
用AI写文章
126 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
据我所知,要得到精确解,Dijkstra算法是算法复杂度最低,计算最快的!当然,可以设计一些并行算法,以加快速度!
lixiaolong6832 2016-02-28
  • 打赏
  • 举报
回复
引用 9 楼 N_sev7 的回复:
[quote=引用 7 楼 p569354158 的回复:] 主要是数据量海大把人难住了
对的,不知道仁兄有啥好的意见! 肯定用到动态加载之类的,但是还没有想到具体的方案[/quote] 建立个动态数据库吧
qq_27994711 2015-12-27
  • 打赏
  • 举报
回复
好像已经好久了 不过我最近做了一个类似这样的 就是求解最小生成树 有两种算法 知道prim 一个是克鲁斯卡尔
N_Sev7 2015-11-02
  • 打赏
  • 举报
回复
引用 123 楼 qq_32194477 的回复:
由于是新手,我不懂各位老师各种各样很高级的算法。我就抛砖引玉吧: 根据高速公路的命名规则,不同走向的路径编号是不同的,例如:(来自百度) 1 首都放射线编号为1位数,由正北开始按顺时针方向升序编排,编号区间为1~9。 2 纵向路线编号为2位奇数,由东向西升序编排,编号区间为11~89。 3 横向路线编号为2位偶数,由北向南升序编排,编号为10~90。 4 并行路线的编号采用主线编号后加英文字母“E”、“W”、“S”、“N”组合表示;“E”、“W”、“S”、“N”分别表示并行路线在主线的东、西、南、北方位。 5 地区环线的编号按照由北向南的顺序排列,编号区间为91~99。 6 联络线的编号为4位数,由主线编号+数字“1”+联络线顺序号组成。联络线的顺序号按照主线的前进方向由起向终点顺序排列。 可以排除许多路线
想法是好的,可是实际导航数据中路网数据并没有那么多信息,需要重新计算设定,而且又不能保存到数据中让下次算路使用,所以。。。
N_Sev7 2015-11-02
  • 打赏
  • 举报
回复
引用 126 楼 c090869 的回复:
本来我想给点思路,可是又害怕涉及知识产权问题,只好不说了。
好吧!A*算法,做好估价函数,应该是解决这个问题的关键吧
N_Sev7 2015-11-02
  • 打赏
  • 举报
回复
引用 125 楼 qq_20207431 的回复:
引用 2 楼 u012421456 的回复:
两点之间,线段最短,lz不打算考虑时间的话,看有没有直达的航班吧!
+1
汽车让上飞机么? 我是想写个高效的路径探索算法的
c090869 2015-11-01
  • 打赏
  • 举报
回复
本来我想给点思路,可是又害怕涉及知识产权问题,只好不说了。
qq_20207431 2015-10-31
  • 打赏
  • 举报
回复
引用 2 楼 u012421456 的回复:
两点之间,线段最短,lz不打算考虑时间的话,看有没有直达的航班吧!
+1
仔哥的CTO之路 2015-10-25
  • 打赏
  • 举报
回复
广搜是什么?求科普!!!!!
HengGeZhiZou 2015-10-22
  • 打赏
  • 举报
回复
由于是新手,我不懂各位老师各种各样很高级的算法。我就抛砖引玉吧: 根据高速公路的命名规则,不同走向的路径编号是不同的,例如:(来自百度) 1 首都放射线编号为1位数,由正北开始按顺时针方向升序编排,编号区间为1~9。 2 纵向路线编号为2位奇数,由东向西升序编排,编号区间为11~89。 3 横向路线编号为2位偶数,由北向南升序编排,编号为10~90。 4 并行路线的编号采用主线编号后加英文字母“E”、“W”、“S”、“N”组合表示;“E”、“W”、“S”、“N”分别表示并行路线在主线的东、西、南、北方位。 5 地区环线的编号按照由北向南的顺序排列,编号区间为91~99。 6 联络线的编号为4位数,由主线编号+数字“1”+联络线顺序号组成。联络线的顺序号按照主线的前进方向由起向终点顺序排列。 可以排除许多路线
  • 打赏
  • 举报
回复
引用 11楼falloutmx 的回复:
这个不单要路径算法的,还要靠规则过滤掉多余线路减少数据量。 例如北京到广州要过哪些省,仅对这些省相连的出入道路进行判断;途中道路优先考虑高速/国道等等。
靠谱,现实中的规划都这么做,Dijkstra算法可以解决,当然,要编程
N_Sev7 2014-05-20
  • 打赏
  • 举报
回复
引用 61 楼 cheng19900917 的回复:
[quote=引用 15 楼 derekrose 的回复:] A star??
我也这个想法,海量数据不是问题,哈哈~[/quote] 启发函数要做到多好才能解决海量数据不是问题这个问题呢???
N_Sev7 2014-05-20
  • 打赏
  • 举报
回复
引用 114 楼 TBWood 的回复:
好好的 Dijkstra算法被楼主黑成这样,汗颜。 百度,wiki上先了解下。 http://zh.wikipedia.org/zh-cn/Dijkstra%E7%AE%97%E6%B3%95 Dijkstra老先生专门为最短路径设计的o(n^2)算法,1959年就发了 Transaction了。
1200W 求解决之道
N_Sev7 2014-05-09
  • 打赏
  • 举报
回复
引用 116 楼 cauc_guidian 的回复:
没听懂lz什么意思
额 主旨思想就是在一个数据量为1200万条的道路网中, 什么算法能快速准确的得到任意两条路之间的最优(时间最短,距离最短,花费最小等)路径。
tbwork 2014-05-08
  • 打赏
  • 举报
回复
好好的 Dijkstra算法被楼主黑成这样,汗颜。 百度,wiki上先了解下。 http://zh.wikipedia.org/zh-cn/Dijkstra%E7%AE%97%E6%B3%95 Dijkstra老先生专门为最短路径设计的o(n^2)算法,1959年就发了 Transaction了。
tbwork 2014-05-08
  • 打赏
  • 举报
回复
看不懂的永远在骚动····· Dijkstra算法怎么不行? DP我熟的不能在熟了。 对DP不了解的,欢迎阅读我的blog 最短路径问题,DP可以解,DIJKSTRA必然可以解。 把你的数量级说一下,大概有多少个城市
cauc_guidian 2014-05-08
  • 打赏
  • 举报
回复
没听懂lz什么意思
N_Sev7 2014-05-08
  • 打赏
  • 举报
回复
引用 113 楼 TBWood 的回复:
看不懂的永远在骚动····· Dijkstra算法怎么不行? DP我熟的不能在熟了。 对DP不了解的,欢迎阅读我的blog 最短路径问题,DP可以解,DIJKSTRA必然可以解。 把你的数量级说一下,大概有多少个城市
额 也没有黑,我现在也在用 数据量为1000多万吧
加载更多回复(106)

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧