数学建模社区-数学中国

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

作者: 释永思    时间: 2018-6-28 12:39
标题: 最短路径算法小软件V5.0
8 o: g; l' j$ a( t9 g% C
百度百科:最短路径
( _" ?- y. ?5 z1 q% K# b0 h
& r5 C5 D) U, w( q' f& ?4 g用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。9 A6 @  w) V0 F/ c" P% r
中文名 最短路径
; f: e7 O: q& j8 |特点 以起始点为中心向外层层扩展
8 e$ T& Z% N: A+ ^: \# I" e性质 一个经典算法问题$ R" v5 _- ]* ~$ q2 r
解决方法 Dijkstra算法A*算法
' T+ j2 G* X" G" z5 U' e6 e5 g6 i, s9 P! w
概述- K- b! k- [' x8 H2 q0 }& G+ _
3 ~9 l2 n7 O* h; Z+ H+ J1 D
最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算法具体的形式包括:
. {! w0 ?2 L6 d8 S  p确定起点的最短路径问题 - 即已知起始结点,求最短路径的问题。
- D2 d7 Y1 J: q3 L. X" ?确定终点的最短路径问题 - 与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。& h. X8 M( W/ _. N
确定起点终点的最短路径问题 - 即已知起点和终点,求两结点之间的最短路径。$ m2 {3 {; w) N4 B/ {& d) }" h
全局最短路径问题 - 求图中所有的最短路径。
) j8 R" ~- l2 j* E0 K
# f7 R4 q4 D+ U% A# i5 j- K////////////////////////////////////////////////////////////6 ~8 p" `3 O$ }, w3 q1 q/ m- t
4 n  D! c  {/ }* E
最短路径算法小软件V5.0- V; l6 J  D! X0 q
2018年6月
% V1 ^# Q4 ^2 u' o3 k6 h, B6 |作者:李庚子李丙寅(李均宇)
' n1 H& i9 M+ q: m2 n, tQQ:165442523
5 H: i, K: t. o. YEMail:165442523@qq.com  
2 D1 ^; N, J3 o% ?. q+ {% chttp://www.okmyok.com/lisoft.htm
$ k0 d9 S: w. F+ y* ?# `0 k$ k3 q$ ^4 F) X( \! `0 T& G& x
下载地址:- @( S) y4 @) ]; ?- n( z
https://pan.baidu.com/s/1dY_9GQC3G435d2nke2WoQg
8 l( F: I$ T( x 最短路算法小软件3.jpg
3 t7 F* R+ v' H6 b" Y8 \! ]% Y1 V, y
8 f7 C2 L8 f! Y6 p
最短路算法小软件2.jpg ' ?* I; `& x9 c: W- B  C! M% U
. X4 z( U3 T& H, G1 Q
' Y! m, l; b' x3 w- Z: d
最短路径算法小软件5.0EXE.zip (3.38 MB, 下载次数: 1) 8 q: |+ c. z7 Y9 D  R9 R3 V" ?, n& p

( Z& o) @$ p  Y" ^0 w+ j
5 v5 X- s# g, L8 S* J" n. \ 最短路算法小软件1.jpg ( [) d* Z! k5 P* T+ {3 `2 C
" r# ~" s- X% G- o1 p) g- [, B: x( }
& z3 z! \7 x' v% X" }$ z' W( [! e
' l. o& g; [' o" x; ~( S' j
) n  b, O! Q: n' f1 m3 D

# N4 R! t/ \' M9 h5 u, ^) d( r, N, G4 N8 ~# [
: j& C7 d4 l) V8 @9 Z. j1 h4 D& R# h

- B$ _! w9 {% l) m  U3 a( q! _6 M; z0 |- o2 }1 Z5 f* m7 @7 ^  P; |/ e
5 v5 J; y4 b* y9 S4 E
* t  {. B2 ~# ?* c) r

$ a  I: f0 @% P* n; x2 X: d" y( ?9 z2 U/ k( H& G* N1 y
/ D/ i5 p9 }  B3 U9 d
1.本软件为小软件,不想为项目管理花过多时间,例如要新增一个项目,又删除或修改一个项目等。
: ~; y6 _; [* |为此,本小软件只有两个默认的项目,一个为演示项目,一个用户当前正在使用的项目,不能增也不能减。
' u0 u2 g5 o$ m! z7 O用户可以清空当前的用户项目,从而使用自已自定义的项目。先输入质点数等等。
9 f1 D" N; d+ w如果你要多个项目,可以COPY多个本软件所在文件夹使用。
* p, n; X: e5 r  \2.初始化粗略质点坐标时,边长不作校验,例如,三角形两边长之和本应大于第三边,但是输入时三角形两边长之和小于第三边,将不作检验,所以请手工确保原始数据的正确性。- M1 m% X/ D. ?: Q& J. l& A
3.质点坐标是屏幕像素坐标,left,top,纵坐标向下不是向上,与数学上的纵坐标方向相反。
6 W) M* C. K% Q. W: w* f4.坐标为屏幕像素坐标,所以只能整数,边长为两位小数,如果四舍五入导致的出错不作处理。
0 \6 I0 D8 u: R5.注意,用户要先点击“注意:先清空用户项目!!!”才可以自定义自已要用到的顶点数的改变。
' L) Z" ?5 ?, E5 p0 |( h5 J
" g& C2 x: \0 e$ z7 C7 ~, Y. i* [  F. P# v0 w
本次升级到5.0主要修改如下:% ~0 Y, ]; q4 s/ W3 q
1。边线条改成灰色,当鼠标移到边线条时,高亮显示边与边长数字,这对于边长数字重叠时有用。3 }  B) z. Q& s" M
2。点坐标可以超出屏幕范围自动产生滚动行,但点坐标不可以为负数。
& t; c4 L7 h  K9 g$ f* n% {3。增加了SPFA算法,来处理边长为 0 或者负数的情况,但SPFA当有负环时无解。
! Z0 x! g9 `$ d4。增加了处理负环的两个新算法,这两个算法皆为作者自创的新算法,一个点与边都不可以重复,另一个点可以重复,边不可以重复。9 W3 c" J# n% F# r0 i( C* k; i
5。边长为负数时最好有方向单向,一般不允许双向或无向。或者每条双向无向的负数边,可以每次取单向,如此组合出所有情况,来求最短路径,再在所有最短路径中再取其最小值。这个组合的算法暂不处理,由用户手工处理。
& ]9 g. x4 j6 [  y. q. E( S3 p" i4 S2 B3 N: G4 `2 S
升级到4.0时主要修改如下:; Z! O0 ]" [( N% l# f
1。更正了算法上的一个BUG。
. x2 W& Y' R- d3 ~# D  W+ d2。边长由只可以为整数升级为可以为两位小数。
0 |5 u4 u* y( ^' O+ `3。增加了可以保存运算结果,下次不用再运算的功能。
% }" t- \* R. y5 @" s$ E4。增加了可以列举所有最短路径的功能,不止一条最短路径时有用。9 j  `" w' H' N" F# k3 A; Q
5。增加了边向量功能,边向量方向可以双向或无向,或序号从小指向大,或序号从大指向小,三种选择。! i, _$ R2 _+ A! P" `. X. G
6。改正了设置起点和终点的小BUG,增加了进度条显示。# h& r0 L& _9 B7 |
7。增加了可以鼠标拖动质点,所相关联的边相应变动的功能。+ d* P% ?8 X' c4 d& b. \7 ^3 D  r
: O! @2 f' q, W/ z; {- X
作者的个人网站:http://www.okmyok.com/lisoft.htm
/ `% N; I$ \- u0 w6 ~% M上面有作者个人开发的所有软件,全免费下载。免费但不开源,源代码要收费。
, W$ n3 R1 e. z9 k上面有作者个人开发的中医五运六气和子午流注软件,有PC电脑版,安卓版,ASP网页版等。
6 P. R4 ~' {4 v还有作者开发的“行星财务”安卓软件,是一款在安卓设备上运行的真正意义上的财务软件,不是记录个人收支的个人记账,在安卓手机上可以运行,掌上财务软件。* _3 [8 m% J9 a$ L" |% Q: ]
还有作者开发的TSP算法小软件,或叫旅行商问题,不了解者可以百度。$ k6 I% z. A) k5 g8 P
还有作者开发的表达式求值的计算器,可以层层括号等等。。。
9 ?) h9 h8 M2 d* n
* w9 `% y. C/ O4 Q我的软件全免费,无广告,无须权限,无须上网,无时间和任何功能限制,纯绿色不污染系统,不体积庞大。。。8 ^# w9 P3 C/ @" J
, }. @9 b  [8 @2 _$ k
% r0 i5 A7 h% S- T+ M
$ i3 a2 s* h+ A( _: a2 Q" ~! z

* a1 i2 ?5 h% R; F  k6 G# ]% u- d9 I
9 x, Q7 C, r1 |; ]

# f; r% ?! S$ a$ O* c4 J
% J$ Z9 `7 P; F1 `! C
" e% f5 d& D$ ]8 n$ b% w' Q8 G, P% f* f! ~% R/ f5 ^5 r

4 ?  I8 x0 E5 D' i  d' {; _
; w: t' }" ^0 x8 J% E- L5 o) K3 P1 g# r& w& x& z

6 s- R& @; ?( J' k' g$ N
" ]+ z+ H8 M/ J1 \6 x$ f
2 U& y; E8 r3 y+ A8 h& z! Q4 O
. Q+ @9 t) U- H3 ^. g7 A9 n4 }5 z6 Y
- \% a. T& n8 ^$ a
/ q, M  w5 Z+ E/ _) w8 j* ?
* u' v8 y! |- B* X5 v
/ E3 A2 k! i: J
* W% x, Y# m) }6 M

" Q/ \% P: Z# Y& ?- J6 m: l, ]
. r) P: e! v, T  F& x. g




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