数学建模社区-数学中国
标题:
最短路径算法小软件V5.0
[打印本页]
作者:
释永思
时间:
2018-6-28 12:39
标题:
最短路径算法小软件V5.0
/ {2 j: E- b; Z* ~' M& {
百度百科:最短路径
U8 ]% I, u/ o6 D+ g0 D
) |9 t* w5 d8 f3 p5 P. t" N
用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。
$ M. L3 i* q5 \
中文名 最短路径
9 `0 w$ e: L. Y' b$ S6 o
特点 以起始点为中心向外层层扩展
7 Y8 P2 C, y" Y w
性质 一个经典算法问题
O: N0 w2 v" H- W- I
解决方法 Dijkstra算法A*算法
, e: M- j7 p. c8 C9 F$ _. p2 F
3 ] [( i; {1 G( @# c6 d4 I
概述
& f& b9 X8 ?+ {+ X, n( I# ~
" X$ B& | j Z+ \
最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算法具体的形式包括:
% c' S7 S( D: N4 |# }+ x5 M
确定起点的最短路径问题 - 即已知起始结点,求最短路径的问题。
. h1 m8 ^3 ], ?. c% e
确定终点的最短路径问题 - 与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。
' A2 p) s( `( k0 o+ [; T2 j, ^
确定起点终点的最短路径问题 - 即已知起点和终点,求两结点之间的最短路径。
3 ]+ h0 p2 b j* K3 K. l) \8 h
全局最短路径问题 - 求图中所有的最短路径。
$ l2 g- j1 x/ [, j" Y
" }; M' D( x! R/ {( T6 l, A
////////////////////////////////////////////////////////////
* p( e; b0 [6 h9 B& ~2 O3 Q3 I
; {; {- {6 A1 ^. a# |
最短路径算法小软件V5.0
o% J. U% Z" E& ]# W
2018年6月
5 w: i! t/ X1 G1 x' X+ Q" a
作者:李庚子李丙寅(李均宇)
u" ^% Q/ t: F, b) l
QQ:165442523
# M S; y2 w: a% v7 m1 p# A
EMail:
165442523@qq.com
- m2 U2 N! S, @) i& g
http://www.okmyok.com/lisoft.htm
+ e+ J. Z$ e* C2 G% E4 I
/ I5 M/ ?" @/ g7 O2 A
下载地址:
. ?' h$ z$ H9 R5 m
https://pan.baidu.com/s/1dY_9GQC3G435d2nke2WoQg
* i" T2 A4 G, f6 }# p7 I, H
2018-6-28 12:39 上传
下载附件
(245.32 KB)
1 K, g h( b0 s1 [2 i
7 f, F0 X% d1 ?/ ^& y
- w/ P3 J# R2 z7 v' w* L
2018-6-28 12:38 上传
下载附件
(235.45 KB)
" a3 A% ~; f4 [. q! }+ s7 B
{: {' K& T2 r3 s$ L9 T
( i+ x" ^& {2 ?
最短路径算法小软件5.0EXE.zip
(3.38 MB, 下载次数: 1)
2018-6-28 12:38 上传
点击文件名下载附件
下载积分: 体力 -2 点
( k) ~4 Y0 ^# H& `/ K
( [; o5 g) q y/ |" {
* N5 ^* G8 A/ T( G6 Y: x
2018-6-28 12:37 上传
下载附件
(287.62 KB)
z% b9 h6 _0 i" J4 L9 Q
+ o, @9 i9 E" D
8 u( r% L' S2 t, C D/ `
" |* d) v6 X" g; q8 s- }
1 j5 ]* L' j& n" h+ `
$ X3 A3 x( }7 N" H
: Y7 z$ k- {* a' ?5 u
; w6 L* b) n% \0 G1 }5 P
* K6 q! C- K1 t& ^& U/ I' D
1 j5 V8 ]' o3 [
; f0 q2 X. ^* a* R7 M4 I
/ m8 D. A; g, r h& g% X! N
' C& p Y- C X; S e5 J
; j4 `- o% x3 d, k1 X# |* V
/ L" Q/ [. i' k l( ]/ H; U
1.本软件为小软件,不想为项目管理花过多时间,例如要新增一个项目,又删除或修改一个项目等。
5 J, a. \, Q1 b) A+ O
为此,本小软件只有两个默认的项目,一个为演示项目,一个用户当前正在使用的项目,不能增也不能减。
4 G* O4 _6 z3 O7 P
用户可以清空当前的用户项目,从而使用自已自定义的项目。先输入质点数等等。
4 A/ g3 G8 j7 r& |. f9 h' R
如果你要多个项目,可以COPY多个本软件所在文件夹使用。
) w" ^: f. L; K! J; R8 p3 [
2.初始化粗略质点坐标时,边长不作校验,例如,三角形两边长之和本应大于第三边,但是输入时三角形两边长之和小于第三边,将不作检验,所以请手工确保原始数据的正确性。
2 i* \5 k) m" M' _% Y( V
3.质点坐标是屏幕像素坐标,left,top,纵坐标向下不是向上,与数学上的纵坐标方向相反。
+ w u, u8 ^4 E0 A
4.坐标为屏幕像素坐标,所以只能整数,边长为两位小数,如果四舍五入导致的出错不作处理。
( O! D) Q; l6 c
5.注意,用户要先点击“注意:先清空用户项目!!!”才可以自定义自已要用到的顶点数的改变。
, t9 {- E$ U1 b6 q8 q
1 h& b( Q" F+ r' A; g7 o
! e5 ^. X3 R' ~7 L, s
本次升级到5.0主要修改如下:
$ x, W6 V+ m/ r o1 _
1。边线条改成灰色,当鼠标移到边线条时,高亮显示边与边长数字,这对于边长数字重叠时有用。
; @ } s8 f* |' n! H& x& G
2。点坐标可以超出屏幕范围自动产生滚动行,但点坐标不可以为负数。
+ B8 x# }4 U0 b2 h, {$ P
3。增加了SPFA算法,来处理边长为 0 或者负数的情况,但SPFA当有负环时无解。
; d( u$ V4 q$ ?* r! x2 X$ Q" M( N
4。增加了处理负环的两个新算法,这两个算法皆为作者自创的新算法,一个点与边都不可以重复,另一个点可以重复,边不可以重复。
3 W- d" z! C, |
5。边长为负数时最好有方向单向,一般不允许双向或无向。或者每条双向无向的负数边,可以每次取单向,如此组合出所有情况,来求最短路径,再在所有最短路径中再取其最小值。这个组合的算法暂不处理,由用户手工处理。
7 F% G5 C' |0 u4 [ f
' [# {2 k# d2 p( q) k" U
升级到4.0时主要修改如下:
$ h, I( C1 D7 X
1。更正了算法上的一个BUG。
" m, c4 [5 ?4 d3 ~. q; p; x: r f
2。边长由只可以为整数升级为可以为两位小数。
( P M# c. w( {9 a9 z; B& f
3。增加了可以保存运算结果,下次不用再运算的功能。
3 L0 K4 a3 N: ?: _$ U+ z
4。增加了可以列举所有最短路径的功能,不止一条最短路径时有用。
! c# I O. H8 j6 [
5。增加了边向量功能,边向量方向可以双向或无向,或序号从小指向大,或序号从大指向小,三种选择。
, z5 u+ B6 C5 Q7 u3 x
6。改正了设置起点和终点的小BUG,增加了进度条显示。
& T) \( u3 d4 W$ N9 d! p
7。增加了可以鼠标拖动质点,所相关联的边相应变动的功能。
' n0 b0 h: j0 p2 p* s* H7 u
& t( W4 L& G3 B0 B4 ^: [* g7 J! Q
作者的个人网站:
http://www.okmyok.com/lisoft.htm
5 D9 }/ H6 x6 {' J' C
上面有作者个人开发的所有软件,全免费下载。免费但不开源,源代码要收费。
* }9 P& m, T8 |7 w8 Y- C
上面有作者个人开发的中医五运六气和子午流注软件,有PC电脑版,安卓版,ASP网页版等。
) S! F5 C' i; I4 k$ t
还有作者开发的“行星财务”安卓软件,是一款在安卓设备上运行的真正意义上的财务软件,不是记录个人收支的个人记账,在安卓手机上可以运行,掌上财务软件。
& N! c) v) V, w$ l/ r! o) |0 h
还有作者开发的TSP算法小软件,或叫旅行商问题,不了解者可以百度。
& z& x+ G# w+ L9 A
还有作者开发的表达式求值的计算器,可以层层括号等等。。。
5 L6 }% G. x" g \/ g& E( R
. v, o* |; C# ~) i) t( H9 L
我的软件全免费,无广告,无须权限,无须上网,无时间和任何功能限制,纯绿色不污染系统,不体积庞大。。。
) L, W* k) W5 N1 M: _" {; r! G, W
3 \& t* l i# ]! D7 S& D; L- M* T
) {. Y5 O$ d A# o: z' c) n
* z1 I L! o& g5 W1 d! O$ W
1 s6 ]; q$ @2 |" q$ Y! \
9 F2 t3 D6 q8 W( x: N9 D6 Z( @
- D# \, R+ a% U, z1 b3 h
4 U! ]9 t# a; Q6 W2 T
2 k( Y+ Y1 W9 G" ?1 w
1 W' D* }& {' z" K* j: h% I% k
/ }, a) K9 x& B5 S& Y
) I( ]$ P# A6 x5 R
7 O, v) B# Y0 C3 Y4 |
9 ]# `1 t; y& ^
# M$ L: I) a0 F! S" n% f. V% B, d; K
1 N q1 A& D5 X1 N2 H+ G% _ z7 @7 B
2 ? W9 T5 u" ]" @' u3 b
0 L& y: `" q5 e* W1 T- @
! M# w5 o% G& a
) J' t9 O/ h$ ^+ l
8 S" y% t( [# U! b1 v( p* M
9 B! p" M; f( f7 N0 ^4 l0 R# K
) M$ b0 Q5 f4 r/ a6 A
8 r0 _3 r) P. y7 e; a5 j$ j
5 X n: A# Q1 `; e" [' V
7 A* z* c% h5 T
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5