Applcu 发表于 2023-12-25 20:19 X$ `8 c5 s9 z& a& L& e {(欢迎访问老王论坛:laowang.vip) 有一个代码框功能,可以用那个。主要编辑的话建议用正八经的md编辑器(我用的是国产的typora) |
navebayes 发表于 2023-12-25 20:11 啊这。不如解释一下单源最短路径问题中对于负权值和负权值回路为什么不能使用上述算法9 R3 C* L( s4 @, f. B+ ^" x(欢迎访问老王论坛:laowang.vip) . y& `& s/ g) T1 D5 _$ W(欢迎访问老王论坛:laowang.vip) 这玩意考试考得头昏脑涨,我tm 深度生成树画错了,越想越气 怎么会这么蠢 |
昔有佳人公孙氏 发表于 2023-12-25 23:084 n$ m0 H/ p6 q- Q- j* F(欢迎访问老王论坛:laowang.vip) 黏菌那个早有耳闻,确实是大自然的力量。我之后还想写点加密算法,比如AES,RSA,ECC之类的,其实这个地铁的算法也是我的一个课设,我大概花了两天就搞完了,我的主专业课是自控/单片机/数电/模电/嵌入式之类的,更偏自动化这个方向,算法我研究的不深。这个当毕业论文可能还是有一些勉强的,个人感觉工科是要做出一点实物的东西,当然不同学校可能要求不尽相同。 . u5 r* c8 k. W' B(欢迎访问老王论坛:laowang.vip) |
先说说个人对于Dijkstra算法设计地铁线路规划:2 ]0 ]9 V% C5 N6 t. @% y(欢迎访问老王论坛:laowang.vip) 1.首先用爬虫爬到该城市的地铁网络,包含站点名称,该站点经纬度和线路图,并生成excel表格。用该excel表格生成pickle文件,方便直接调用。 2.注册高德地图开发者账号(该功能需要实名),得到一个key用于调用api(每日上限100次,超过付费,我调试到后面不让我调试了...)& x5 f: G5 V2 C5 g7 A$ o. w(欢迎访问老王论坛:laowang.vip) 3.输入始发地和目的地,并通过api返回两个位置的经纬度坐标。' y0 F6 l( O$ q% c f(欢迎访问老王论坛:laowang.vip) 4.比较两地理位置之间的最近地铁站,并根据Dijkstra算法实现路径规划。+ l3 D5 I8 @1 _3 K9 v4 [(欢迎访问老王论坛:laowang.vip) 5.Dijkstra算法的本质就是不断选择新顶点并更新已处理表,并将他和邻居节点进行比对,当所有节点都被处理后即为最短路径- V6 B# ^$ N# Y+ W- c3 U) U9 g/ [(欢迎访问老王论坛:laowang.vip) 至此,已初步完成具体工作流程。4 B# x! T+ q; S" O; m(欢迎访问老王论坛:laowang.vip)
引用:https://blog.csdn.net/fengdu78/article/details/111570695 |
本帖最后由 navebayes 于 2023-12-25 20:14 编辑 $ h& G. f( Q0 [, V6 ]3 X% ]+ t; {! ~8 V(欢迎访问老王论坛:laowang.vip) 1 ]( [! b2 q; m/ }3 z. F+ o(欢迎访问老王论坛:laowang.vip) 申请失败,原因:对算法本身描述过少,请更具体地说明算法的运作逻辑和方式,如果可以最好给出部分低代码( {1 r6 U: I; j8 L(欢迎访问老王论坛:laowang.vip) 5 g0 t. L5 |, h: F/ R6 d(欢迎访问老王论坛:laowang.vip) ps:只要做滴好,王爷有赏啊 |
我是一个初中OIer,如有错误请指出,欢迎讨论 我记得之前好像看主要地图的寻路算法是A*?如果没记错的话 ' [ F, w$ K% | g0 a# ^# B(欢迎访问老王论坛:laowang.vip) 有几点建议:* m! r; W$ N0 n/ D! n4 u7 l(欢迎访问老王论坛:laowang.vip) 1.具体算法实现可以用CPP,Python太慢了,尤其是要处理百万/千万级别的数据时,可以用python爬取数据然后由cpp进行相应处理,这样的好处是大幅减少了时间且使不会特别麻烦(CPP的网络爬虫实现太麻烦,且各种配置环境很难受)不过如果数据量不是很大的话用py很省开发时间( 2.关于实现算法我个人更推荐A*,由于其是启发式的,时间复杂度比Dij低,也能省下很长时间(不过也要看数据量,有些时候IDA*比A*好)至于您说的D*很抱歉我没有接触过这个算法,不予评价) H& h- [. r5 \9 j(欢迎访问老王论坛:laowang.vip) 如果有很多很多线路要查询的话还可以加个多线程优化,这个用py的threading更容易些,当然cpp也不是不行3 _* F6 h$ P) l3 f(欢迎访问老王论坛:laowang.vip) 9 g& N* t0 i* ^) h1 c7 I. M8 s7 W(欢迎访问老王论坛:laowang.vip) |
六道骸 发表于 2023-12-29 00:45 这个还是要对算法有一定了解才能看懂! T+ R" Y" Q; V0 `' v/ G# _(欢迎访问老王论坛:laowang.vip) |
太专业看不懂,,, |
Applcu 发表于 2023-12-26 22:28 今天给你们加钱了喵,主要是感觉原来的发的还是有些少3 U) A, y' s( Q* I7 J: `: K, _(欢迎访问老王论坛:laowang.vip) |
很难想象居然在这里看到了这种文章,点赞 |
Applcu 发表于 2023-12-26 13:37 下次可以的话写详细些..比如算法这类最好有深有浅 |
本帖最后由 navebayes 于 2023-12-27 17:11 编辑 基础50可读50排版50内容120其他40共计235+45+30=310 |
navebayes 发表于 2023-12-26 12:03 好好好,大概就这样吧建议打钱% n7 b ?- H: l2 S(欢迎访问老王论坛:laowang.vip) |
Applcu 发表于 2023-12-25 23:302 b- ^: n' S4 `(欢迎访问老王论坛:laowang.vip) 排版改了下喵,东西加好了喵 |
navebayes 发表于 2023-12-25 23:020 b$ U( G% r2 T8 w6 u6 Y6 ^(欢迎访问老王论坛:laowang.vip) 可以可以8 E$ y5 t1 ], |* W6 A(欢迎访问老王论坛:laowang.vip) |
其实目前,本科生能接触到的寻路算法 无外乎迪杰斯特拉和弗洛伊德 一个不吃负值 一个不吃负环 但其实寻找最短路径的算法里还有很知名的黏菌算法。' f! G5 n, _0 M$ G(欢迎访问老王论坛:laowang.vip) 有兴趣的可以去B站搜搜黏菌走迷宫,看看在大自然顶级的算法编辑下的单源最短路径问题的解法 不是说将奖励放置位置对应于日本的各大城市,两天内的黏菌路线就基本和目前日本的城市规划大致相似了吗,当然不太严谨是真的 ) S; d4 Q2 t" q(欢迎访问老王论坛:laowang.vip) 就好像楼主说的做了地铁最短路径规划, 这玩意我舍友和你类似,她做的事全国铁路路径规划,涉及到价格,时间,反正做到最后是你输入起始地址和目的地,就能得出花费最少,时间最少,转站最少的路线,C++课设 我记得很清楚,我记得老师说的评价是,如果再加上运筹学的内容,说不定可以当毕业论文了,不出意外她拿了满分。 |
navebayes 发表于 2023-12-25 22:34 加了加了 |
昔有佳人公孙氏 发表于 2023-12-25 20:25" |$ V0 }6 g# |. n(欢迎访问老王论坛:laowang.vip) 我也头大了.....但本质还是因为Dijkstra算法认为,如果有一条最短路线可以直达目的地,那么从旁边走另外的路将会直接不考虑,但在负权边这里,反而会减小cost,所以Dijkstra算法失效了,因为无法发现这条最短的路径 |
Applcu 发表于 2023-12-25 21:589 S: d U& J0 T3 I(欢迎访问老王论坛:laowang.vip) 可以加入正文喵 |
Applcu 发表于 2023-12-25 21:153 R" ~/ V( L. p(欢迎访问老王论坛:laowang.vip) 诽谤管理封七天 |