数学建模社区-数学中国

标题: 最短路径算法小软件V5.0 [打印本页]

作者: 释永思    时间: 2018-6-28 12:39
标题: 最短路径算法小软件V5.0
; S" G5 G1 m" D* D
百度百科:最短路径9 a7 e- F/ A$ F/ c5 F
) `, U0 r4 J9 e! e
用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。7 C$ g: k" G" J
中文名 最短路径: n, s. {7 T9 r
特点 以起始点为中心向外层层扩展
' i2 f+ [: g% E性质 一个经典算法问题( w0 I# X% p  t1 k* {" y
解决方法 Dijkstra算法A*算法
/ b$ b: B! J8 V9 f, ~, q, X; G# A9 w: Z
概述
* r% P! C3 e! L, `4 X, ^
" A% `7 B$ z" d" C) B" ~- j最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算法具体的形式包括:
0 s/ t  `& z+ Q  a# W确定起点的最短路径问题 - 即已知起始结点,求最短路径的问题。
4 L  A3 \* g7 b" B" r- g确定终点的最短路径问题 - 与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。
" @! A- A# _, u0 O$ ]* ?确定起点终点的最短路径问题 - 即已知起点和终点,求两结点之间的最短路径。
; p$ L" n6 [# C6 L  @& I全局最短路径问题 - 求图中所有的最短路径。
/ d: p& _5 d! e8 X3 D+ j/ n! B1 T8 C, r
////////////////////////////////////////////////////////////
* o0 o% t. H# S& w
- {' |- G2 L8 y# U, g% E最短路径算法小软件V5.01 P$ k1 w8 M  B' r- C+ R1 m! j
2018年6月 $ P* T" G2 q: H( K* Y$ v& T. ]
作者:李庚子李丙寅(李均宇)
4 Q! T- d6 {2 n; R2 a, QQQ:165442523
/ K: B3 n( n# T8 y0 I0 [! hEMail:165442523@qq.com  2 |, j/ w% K2 v3 j0 u3 o2 H+ V
http://www.okmyok.com/lisoft.htm) ~' G7 b; U7 ^/ h
: Q2 d2 R9 w# u5 i6 [
下载地址:
# ^" D3 E0 ~5 d/ `; S' Hhttps://pan.baidu.com/s/1dY_9GQC3G435d2nke2WoQg/ H  C6 B. Q/ C- L+ |
最短路算法小软件3.jpg
6 w7 y( R: A$ B& o2 i, g" l8 r8 P( T
/ I! k' Y6 G! D
最短路算法小软件2.jpg ! |' q9 G" k  U# L9 m' A' X% t3 o  a

4 J0 y8 ]* a1 G) G- {% z& T1 ?
3 u- Y, q9 ~' O4 B& U7 e 最短路径算法小软件5.0EXE.zip (3.38 MB, 下载次数: 1)
" e9 u- t$ p  i5 e6 t2 z1 Q* @( e2 Y
* q6 ?. C& N& L6 b! V
" u. y: Y3 h5 y/ V* H5 `# a 最短路算法小软件1.jpg
- f3 z% O+ s; p5 r% t) _# s$ |: P7 Z6 d. i% O$ J; k) ]: |

2 I5 L2 B1 A6 r$ V8 r2 u2 A
" }! i- W: N5 S5 x
( A# E! m; }, v7 D
8 p% G1 V/ Q9 y6 Y4 }. P: n2 P
1 x0 |5 B" @, ?! S! m5 g. E+ {4 P- V

5 r0 ^- g5 b! ~. Q& T$ \/ F! S6 }

; Y# w/ @+ C: G) F( y% L5 Q- s- b4 H1 Z3 P. I! l
( }1 @+ f: V( x, H0 ~, S
: M+ L7 B" O0 P

9 p0 P1 k* K. m. ^; [- P7 j1.本软件为小软件,不想为项目管理花过多时间,例如要新增一个项目,又删除或修改一个项目等。
$ S* J% w9 ]4 T+ ~: _' l' x为此,本小软件只有两个默认的项目,一个为演示项目,一个用户当前正在使用的项目,不能增也不能减。
& q% n9 d# ?8 W- ~) @! w用户可以清空当前的用户项目,从而使用自已自定义的项目。先输入质点数等等。
& l7 x5 t( q, Y. N, `# k" u如果你要多个项目,可以COPY多个本软件所在文件夹使用。' D; N3 s, v" J: g( @; N- F6 F% r- N
2.初始化粗略质点坐标时,边长不作校验,例如,三角形两边长之和本应大于第三边,但是输入时三角形两边长之和小于第三边,将不作检验,所以请手工确保原始数据的正确性。
4 d$ {$ E0 j9 j3.质点坐标是屏幕像素坐标,left,top,纵坐标向下不是向上,与数学上的纵坐标方向相反。
/ v  ]6 a! H9 c% r: B% Y. r4.坐标为屏幕像素坐标,所以只能整数,边长为两位小数,如果四舍五入导致的出错不作处理。$ d% A7 f9 C: h' J9 g5 H) |6 J
5.注意,用户要先点击“注意:先清空用户项目!!!”才可以自定义自已要用到的顶点数的改变。' F8 k! {+ e0 N( O% I. N. _

5 S. B2 z; @0 k& K' O. v& A8 n0 I; l( V: ]
本次升级到5.0主要修改如下:
; E; a: U  ]6 m, ^$ C1。边线条改成灰色,当鼠标移到边线条时,高亮显示边与边长数字,这对于边长数字重叠时有用。
2 C$ V+ T8 b9 I, _2。点坐标可以超出屏幕范围自动产生滚动行,但点坐标不可以为负数。
) n5 q" I  o. p. ?3。增加了SPFA算法,来处理边长为 0 或者负数的情况,但SPFA当有负环时无解。
3 T0 v( h1 t7 F* n, w  a' D4。增加了处理负环的两个新算法,这两个算法皆为作者自创的新算法,一个点与边都不可以重复,另一个点可以重复,边不可以重复。4 R- Y  d. t8 i( W3 `" P3 E
5。边长为负数时最好有方向单向,一般不允许双向或无向。或者每条双向无向的负数边,可以每次取单向,如此组合出所有情况,来求最短路径,再在所有最短路径中再取其最小值。这个组合的算法暂不处理,由用户手工处理。
: v4 z8 l+ {/ o: G6 `+ X, g' T% p) X" `& }( E( T
升级到4.0时主要修改如下:2 T( |+ b7 E7 @4 `. y3 w- O/ h
1。更正了算法上的一个BUG。
0 v" d! _6 `* _& _" v7 T  S2。边长由只可以为整数升级为可以为两位小数。3 A# S- Y( `* j1 J- A& R2 n& u
3。增加了可以保存运算结果,下次不用再运算的功能。
" q3 c# H& n' ?  f7 _, X4。增加了可以列举所有最短路径的功能,不止一条最短路径时有用。
5 T4 u/ o2 r  H# u/ F, j  k7 G5。增加了边向量功能,边向量方向可以双向或无向,或序号从小指向大,或序号从大指向小,三种选择。& @- g( [% G7 e6 u) @4 o1 [
6。改正了设置起点和终点的小BUG,增加了进度条显示。
8 d$ H6 m1 _$ }  D$ f( @5 {9 R7。增加了可以鼠标拖动质点,所相关联的边相应变动的功能。
- r9 ^/ z  r( D$ e! x7 R9 Q" I  Q% B  `5 `4 p3 T
作者的个人网站:http://www.okmyok.com/lisoft.htm) W0 v6 l  I, ~+ O+ |
上面有作者个人开发的所有软件,全免费下载。免费但不开源,源代码要收费。9 A0 N( l$ s& i; X. ~0 X3 @
上面有作者个人开发的中医五运六气和子午流注软件,有PC电脑版,安卓版,ASP网页版等。
" m9 X" T2 d, U. Z4 o' M$ E还有作者开发的“行星财务”安卓软件,是一款在安卓设备上运行的真正意义上的财务软件,不是记录个人收支的个人记账,在安卓手机上可以运行,掌上财务软件。
" L5 _9 u5 W3 D1 C& w- u9 g; b还有作者开发的TSP算法小软件,或叫旅行商问题,不了解者可以百度。& F" z. H1 ^  h: M! A
还有作者开发的表达式求值的计算器,可以层层括号等等。。。
6 C# q+ S  y/ \3 ~( `6 c( d9 P7 q! _+ B; i3 [" T' Z+ u, l
我的软件全免费,无广告,无须权限,无须上网,无时间和任何功能限制,纯绿色不污染系统,不体积庞大。。。# v4 c0 j( p# V& X

9 v! w8 h5 M# d* K8 s! g" G  p4 _4 F3 Q! ]& `

5 m7 `7 ]# W& k: i3 Z- X5 g7 T  K& E8 g/ t
& L- s4 c6 f8 y) R

; y0 b7 z1 {9 E$ }5 t0 Q- p! L  ~# j2 P8 d0 Y& @+ Z/ j; \8 n' c' x
& q8 G& r5 u1 _$ E( y5 O3 i
, }& n8 a) d8 t; s* _
$ P. [2 r+ R, C: y

. ]& ?% p( v! g( U& A
. A5 t% J7 K! }* o2 s. C8 V8 C  [7 o/ L3 z& [4 ~5 [# \7 e
% v, q$ w. G; j! L
! R. w; x8 N9 y' t
. w6 j! Q8 {. R* B

# S" F9 O' \9 O: o$ t1 r4 |- |0 h' x* [( K7 _

) v) |+ k2 O2 ]) N( |! Q( V. l
& y$ q) v" _. d( a

* P0 \. U; C6 \* [% K/ J3 j8 [" N9 M
6 n. X" j) J9 ~0 y3 D) i
8 P" \0 b" [0 L2 S0 S, X# o- z# ^; t0 C





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5