在线时间 138 小时 最后登录 2018-11-1 注册时间 2015-8-26 听众数 13 收听数 0 能力 0 分 体力 366 点 威望 0 点 阅读权限 30 积分 146 相册 0 日志 0 记录 0 帖子 70 主题 23 精华 0 分享 0 好友 17
升级 23%
TA的每日心情 难过 2016-5-14 14:04
签到天数: 18 天
[LV.4]偶尔看看III
自我介绍 软件开发工程师
; N7 |6 S y4 V. s
百度百科:最短路径
9 @6 X2 V+ q: |! V/ l. \
) `5 O4 X# m( @" V* m- a 用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。" r- @( P, R, Q0 q0 x% T
中文名 最短路径1 p0 j- v" X% z
特点 以起始点为中心向外层层扩展, v! b, y4 Q2 T! @) l/ T
性质 一个经典算法问题" V8 T5 ~6 p) K5 H9 f% N
解决方法 Dijkstra算法A*算法
: J4 x% b, q1 [" s
9 i# K; E: ~5 G8 B( }' I 概述* t' X8 [& p& O/ z* X
- ?/ c9 h6 j) a6 A6 O3 W4 `3 h
最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算法具体的形式包括:
2 M' ?/ w: g v0 c- o0 x, l. M! t 确定起点的最短路径问题 - 即已知起始结点,求最短路径的问题。- N: H( L* Z) l
确定终点的最短路径问题 - 与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。
+ |5 x. c% M2 Z S( U, h* l" P 确定起点终点的最短路径问题 - 即已知起点和终点,求两结点之间的最短路径。 x1 M; Q0 q3 n% v3 t+ Q: U
全局最短路径问题 - 求图中所有的最短路径。
- ~! I- l1 [. E* f
" p: K& [. v, i/ P& P" M0 J ////////////////////////////////////////////////////////////, Q: I7 s; H6 ]5 ?
& E0 Y9 {/ i, |' C x8 u7 H/ I 最短路径算法小软件V5.0) {9 b% N4 P' J5 j$ S5 ?
2018年6月
! s' d& i! o) Q" @7 K* H# y7 K- { 作者:李庚子李丙寅(李均宇)# I& r2 m- G, ]) F. k1 ?2 r
QQ:165442523 & \3 D3 `+ ^) C/ o0 p
EMail:165442523@qq.com
! @4 V' }2 C2 N8 d8 \$ T+ D http://www.okmyok.com/lisoft.htm
; `" Q& a, R8 r) d, n2 w # |6 ]/ w8 L7 G2 y: V, S% w1 N4 _
下载地址:
8 t, S( K# e. E2 n https://pan.baidu.com/s/1dY_9GQC3G435d2nke2WoQg 5 b) B- R4 N6 H$ D" n' e J* {
) o. S: R4 ?3 s' `
+ c6 ]$ ^0 b2 _, S$ U 4 D, o; ~2 j- W9 L& O. f
8 H1 R; O: ~3 n$ g m& g% b' N* a7 e
6 M% c7 O- {- A6 U4 S" h/ w3 O- J # f3 C1 n M2 Q5 ~! B( w
最短路径算法小软件5.0EXE.zip
(3.38 MB, 下载次数: 1)
3 g3 x$ S& c) J" [2 _3 q
. I0 j% [7 K+ ^
8 W+ d) ]5 S9 Y( p: i# P$ \5 X
9 e1 W# s7 {& c! V( D2 O % ^( M* }6 ]' F$ N
7 j) @ p+ ^* i# w
' f" u l1 `9 @; f
+ G$ [6 n0 f2 c- b) ]
a" d5 N: e s' z! |0 s/ O0 L3 F8 w
+ J! V' ]8 T. s6 L o. J - w, f. j1 r. [3 E2 @
$ O* j) J0 ~) v4 n
6 E: ]6 W8 j; ^$ x
7 E' u. e; H6 K
& v8 |5 j% O# H& {$ P8 s: W5 r
# J! E5 r6 W) l2 y+ m' V , [: c: d# D- H& h
1 H' Z* f/ E$ q# d0 b, h' T/ F- U
1.本软件为小软件,不想为项目管理花过多时间,例如要新增一个项目,又删除或修改一个项目等。* z" a7 [) \- ~
为此,本小软件只有两个默认的项目,一个为演示项目,一个用户当前正在使用的项目,不能增也不能减。$ G* |) f2 p8 f4 Q
用户可以清空当前的用户项目,从而使用自已自定义的项目。先输入质点数等等。
3 o3 y3 T1 G7 F9 I 如果你要多个项目,可以COPY多个本软件所在文件夹使用。( G- N J1 D- a
2.初始化粗略质点坐标时,边长不作校验,例如,三角形两边长之和本应大于第三边,但是输入时三角形两边长之和小于第三边,将不作检验,所以请手工确保原始数据的正确性。 F% F7 u4 [! k$ x! z! @ l9 n
3.质点坐标是屏幕像素坐标,left,top,纵坐标向下不是向上,与数学上的纵坐标方向相反。
/ P& s4 ^1 n0 Y5 `2 y" ~: j/ Q+ U 4.坐标为屏幕像素坐标,所以只能整数,边长为两位小数,如果四舍五入导致的出错不作处理。
; S7 c* U8 S- Z( u 5.注意,用户要先点击“注意:先清空用户项目!!!”才可以自定义自已要用到的顶点数的改变。
/ ?+ [5 D9 y* s- H
1 k; s0 Q' j/ [9 o) U+ k4 g) Q O6 Z6 [" c4 P) X, x
本次升级到5.0主要修改如下:
! e2 Q- h9 h# }6 r 1。边线条改成灰色,当鼠标移到边线条时,高亮显示边与边长数字,这对于边长数字重叠时有用。
6 v" }* v& e; k: {' q" p 2。点坐标可以超出屏幕范围自动产生滚动行,但点坐标不可以为负数。
4 Y0 ]% y' M' ^5 H( U: m 3。增加了SPFA算法,来处理边长为 0 或者负数的情况,但SPFA当有负环时无解。7 V, J1 W! m$ m# s
4。增加了处理负环的两个新算法,这两个算法皆为作者自创的新算法,一个点与边都不可以重复,另一个点可以重复,边不可以重复。. F w3 z" {. F; H
5。边长为负数时最好有方向单向,一般不允许双向或无向。或者每条双向无向的负数边,可以每次取单向,如此组合出所有情况,来求最短路径,再在所有最短路径中再取其最小值。这个组合的算法暂不处理,由用户手工处理。) B3 P3 z* e; N7 L2 ^& A ?1 p
# l* n# b4 x1 x 升级到4.0时主要修改如下:7 f$ m1 ^; h& ]( G/ O
1。更正了算法上的一个BUG。- {, U) v; w4 i1 @- C; I
2。边长由只可以为整数升级为可以为两位小数。
% L; b9 z3 R6 O2 X5 ]* z/ a# L 3。增加了可以保存运算结果,下次不用再运算的功能。" _" w' t$ P D7 b( F0 K0 Z# f" {: w
4。增加了可以列举所有最短路径的功能,不止一条最短路径时有用。
; a" B9 \* j1 e0 n2 e 5。增加了边向量功能,边向量方向可以双向或无向,或序号从小指向大,或序号从大指向小,三种选择。
8 r% q8 g7 @# C$ B2 z ^7 L 6。改正了设置起点和终点的小BUG,增加了进度条显示。
# P1 I/ ~7 |" A& g 7。增加了可以鼠标拖动质点,所相关联的边相应变动的功能。" E1 J& j4 j- H& s
' G p0 b$ Q; R' \6 y. I
作者的个人网站:http://www.okmyok.com/lisoft.htm
; p3 M" \: z. F6 @- ?% f- k: y 上面有作者个人开发的所有软件,全免费下载。免费但不开源,源代码要收费。# x9 A' J( U9 f/ w
上面有作者个人开发的中医五运六气和子午流注软件,有PC电脑版,安卓版,ASP网页版等。2 u" G. a' ]- v- @9 v
还有作者开发的“行星财务”安卓软件,是一款在安卓设备上运行的真正意义上的财务软件,不是记录个人收支的个人记账,在安卓手机上可以运行,掌上财务软件。
9 i6 }( w% P! l( f/ q 还有作者开发的TSP算法小软件,或叫旅行商问题,不了解者可以百度。7 ]$ m) C! m- O' O7 p+ y
还有作者开发的表达式求值的计算器,可以层层括号等等。。。 {, [/ Q& f9 o7 a
# U" l; L7 e7 q+ B 我的软件全免费,无广告,无须权限,无须上网,无时间和任何功能限制,纯绿色不污染系统,不体积庞大。。。
1 a" d3 _% k: A( J* [
3 @6 \/ Y) ?7 j; T( K9 d+ s, b 4 n- j3 X" ^$ ^
, w' d2 r- [+ e0 \' L6 G
4 ?+ |& e) J1 i" T5 J+ z* A6 u - H; E4 S1 T! |
4 j1 r p% w! u+ I5 e
# V( ~9 A- j! j/ ? 0 H Q* r8 Z! b! D" b' F0 b8 K9 K5 K3 M
* D4 V& ]8 x: _6 B, v% u 1 M9 m1 T4 A* `# n' l# O' i
7 r1 x& ^3 c, y$ E) w% Z) W4 I b
; s5 A' x% c' k/ g4 v- r 8 j% E, M `7 T1 o/ m3 E( K
" v' o Q. Q; K0 [" F
; y4 E) i9 R% U2 s+ G
9 K* W! h( M2 j* S* j, E
+ x1 ]2 H5 O2 c 8 }8 d6 O V( b" |: m
9 Z* P! d) ?" P9 E2 F+ T ' ?' U- U$ P) |/ ~! K$ |; I
, L5 o/ \" s4 F; v- ?
& L& r6 L3 X) T+ ?3 ~# W& d
9 g* |$ i6 p' h9 t+ O d ! y3 q+ r$ ^% Q: Q$ n2 }* p
3 a0 t+ c! [% `. R+ W8 g
zan