数学建模社区-数学中国

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

作者: 释永思    时间: 2018-6-28 12:39
标题: 最短路径算法小软件V5.0

. L' T/ C0 a. y. n* v0 h6 g百度百科:最短路径7 ]$ r. |0 V( I) i
$ M  J9 j/ X3 d8 k; T2 n
用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。
! S: A+ n: F$ |4 ^中文名 最短路径
. y6 C0 e; R2 Y( u- }- r: X* m特点 以起始点为中心向外层层扩展& i* }0 ^% U7 {) v" s: h5 I
性质 一个经典算法问题
7 `4 z) s4 @  f. I4 |3 Z解决方法 Dijkstra算法A*算法
6 u: c* Q) |, \: d
- `2 O/ {$ e/ L6 A7 Y* C  F; C  k概述" e9 Q; L) y0 f7 P  @
' ]; x: S/ e: C% Y$ [% F9 N
最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算法具体的形式包括:
! Y8 o) ]# `: K, p) F, m; W确定起点的最短路径问题 - 即已知起始结点,求最短路径的问题。! ~( L* D) A- {; q
确定终点的最短路径问题 - 与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。" B9 h5 V9 g) S4 p, b2 R7 m
确定起点终点的最短路径问题 - 即已知起点和终点,求两结点之间的最短路径。: i) e. }4 q1 p, p: f
全局最短路径问题 - 求图中所有的最短路径。: Y/ ^( {, |' ?$ |2 c% I2 e
. C3 M/ Y- F1 O. o5 c
////////////////////////////////////////////////////////////
% E. p6 t% F5 e& A: i2 E1 D- e- Y/ v9 L: I+ c. U6 w3 I
最短路径算法小软件V5.0
6 {# W4 w% D# T9 v# e2018年6月 / L. k; p& j" A: i
作者:李庚子李丙寅(李均宇)
3 y& Y" O& }) ~- U; AQQ:165442523
8 p5 m' G% ?6 P0 J4 P9 kEMail:165442523@qq.com  
- _% Z: f! I2 f0 M( [4 ?http://www.okmyok.com/lisoft.htm/ h- X( o6 e" L# |& ~" Q' e

/ O9 r. M2 Z2 o( j下载地址:4 G9 m5 N0 K* p4 }8 j& s
https://pan.baidu.com/s/1dY_9GQC3G435d2nke2WoQg7 O4 X) x$ K, z- Q; v8 {# C
最短路算法小软件3.jpg 3 v6 n  c9 m0 ^$ h! L
+ s2 Y3 c0 E. H
: R0 p& A0 k1 F& g( s
最短路算法小软件2.jpg
5 M* v5 }+ F: a) o
8 @& g, Q' P, ]1 s& b5 T8 C- Z4 E! a* a) R! N8 \3 C$ D
最短路径算法小软件5.0EXE.zip (3.38 MB, 下载次数: 1)
! p& Z1 B' z% W
/ {" _3 v7 i7 o" x" c; t/ n4 y
: P5 Z- v+ V! C) Z, r. @ 最短路算法小软件1.jpg 0 T2 H' F. |: [
; `, r2 @/ v% A

/ H# U$ j  y' k, C, w+ i( R
4 _1 w' h7 k) e& b9 C/ w5 ^) L; u4 O- M  W7 U

+ q8 N3 ^* i3 [$ z! u% R* p, A) z/ x* R1 r
# [" r/ w: v* d8 q; P$ m$ L1 @5 o# Q+ u

! j6 @1 A( R# ?/ U+ U6 p( f  D" |) K  }9 I$ b; w# f
/ _/ e- S1 P$ ]; z
; }: n4 C$ [5 ]! N

" S1 A  s/ d9 M# |% ^  a* ^" x9 P; d" [: n  Z% l
' }, |8 O" G4 I
1.本软件为小软件,不想为项目管理花过多时间,例如要新增一个项目,又删除或修改一个项目等。
: z: n% v" C% s; ?- x为此,本小软件只有两个默认的项目,一个为演示项目,一个用户当前正在使用的项目,不能增也不能减。
$ u8 }' @; z0 Y5 L: C3 g用户可以清空当前的用户项目,从而使用自已自定义的项目。先输入质点数等等。
/ A( d8 E: V1 S  b, J如果你要多个项目,可以COPY多个本软件所在文件夹使用。
3 t7 H( y" b) C$ \! i' s% Q1 l2.初始化粗略质点坐标时,边长不作校验,例如,三角形两边长之和本应大于第三边,但是输入时三角形两边长之和小于第三边,将不作检验,所以请手工确保原始数据的正确性。2 S7 j4 A6 M) \9 s! L  j' [
3.质点坐标是屏幕像素坐标,left,top,纵坐标向下不是向上,与数学上的纵坐标方向相反。
0 J7 ?3 e7 P- N4 f( T, {" W( Y4.坐标为屏幕像素坐标,所以只能整数,边长为两位小数,如果四舍五入导致的出错不作处理。
& w; w# Q* @% {- ?5.注意,用户要先点击“注意:先清空用户项目!!!”才可以自定义自已要用到的顶点数的改变。
1 W  S" v8 c8 V+ A3 Q
$ s( N( f1 i' Q/ V: k1 E1 r' z7 P; o" o' b& I  o& l% o
本次升级到5.0主要修改如下:0 b4 s0 R' B1 B; R
1。边线条改成灰色,当鼠标移到边线条时,高亮显示边与边长数字,这对于边长数字重叠时有用。8 ^# u; k  t* [2 H  v9 n9 o  E, U
2。点坐标可以超出屏幕范围自动产生滚动行,但点坐标不可以为负数。
1 }/ j( L* n% k) {7 z4 a3。增加了SPFA算法,来处理边长为 0 或者负数的情况,但SPFA当有负环时无解。6 R& ~: J& V: D6 \' T
4。增加了处理负环的两个新算法,这两个算法皆为作者自创的新算法,一个点与边都不可以重复,另一个点可以重复,边不可以重复。; ~# F* k/ W* V' y
5。边长为负数时最好有方向单向,一般不允许双向或无向。或者每条双向无向的负数边,可以每次取单向,如此组合出所有情况,来求最短路径,再在所有最短路径中再取其最小值。这个组合的算法暂不处理,由用户手工处理。
, Q) i* V) C* J/ S9 |  @5 G" `  U0 ?+ x0 \9 E2 S% e
升级到4.0时主要修改如下:
* F2 ]' ]) A5 N, A3 ?1。更正了算法上的一个BUG。. n$ S$ b" w- M3 t
2。边长由只可以为整数升级为可以为两位小数。% i8 C2 L5 N1 `( ^8 w* J3 a0 o
3。增加了可以保存运算结果,下次不用再运算的功能。
+ Y4 _% E" f, u6 y( p/ L/ B4。增加了可以列举所有最短路径的功能,不止一条最短路径时有用。
6 V9 k2 j4 W5 z9 N; ?5。增加了边向量功能,边向量方向可以双向或无向,或序号从小指向大,或序号从大指向小,三种选择。1 W- |7 W! ~5 P3 R4 p
6。改正了设置起点和终点的小BUG,增加了进度条显示。
& y. p4 v) R' |, u6 f7。增加了可以鼠标拖动质点,所相关联的边相应变动的功能。
* O& d7 T! ^/ I6 _' r" Q& x* T# `2 H+ o+ U. [
作者的个人网站:http://www.okmyok.com/lisoft.htm( L, z. U9 d& t+ |3 S
上面有作者个人开发的所有软件,全免费下载。免费但不开源,源代码要收费。
% e2 E9 c" u: u+ e上面有作者个人开发的中医五运六气和子午流注软件,有PC电脑版,安卓版,ASP网页版等。
6 U  F7 O, [# {  n还有作者开发的“行星财务”安卓软件,是一款在安卓设备上运行的真正意义上的财务软件,不是记录个人收支的个人记账,在安卓手机上可以运行,掌上财务软件。
/ ]0 C7 f. {- k% e0 V1 E还有作者开发的TSP算法小软件,或叫旅行商问题,不了解者可以百度。
1 _% X2 `' l4 I1 |7 C7 @还有作者开发的表达式求值的计算器,可以层层括号等等。。。
+ c% \- p7 c* e' k6 G/ K, i* a, e4 U2 S0 l
我的软件全免费,无广告,无须权限,无须上网,无时间和任何功能限制,纯绿色不污染系统,不体积庞大。。。
# g" ~) e* X5 }' e  L4 G% Y. c/ k1 w
6 F* |. [2 \% c7 V' n
' N- ~" \. V( y4 W; Q& F

' O) n6 ?, g. V! F4 x& t1 u6 F" F; @) Y7 m) u

0 h1 d- S6 e- z# j* r& Y3 T' n* `) @% b% R" K
3 U, w. @/ C3 W+ ?/ F; ]9 i
# D' J& `, `+ V6 L; w! r

7 q) p6 C! g6 g9 a9 F  G5 @  o6 v4 R0 E2 o% `3 \
/ K8 m* }1 }9 Q' m7 q

* ~# @1 P+ K% A( s5 \4 s0 Z/ d9 e: E
1 _" m0 j! W& O
, E# }  Y" M! o+ K
# K* p0 \  W' o# C9 W4 }& O1 z

8 w0 ^: T5 d# D$ j% `+ J) _0 a( v4 ?* K; c/ X& I0 S( `( g, O4 R

& I' X8 r+ L7 Y5 Z% K# |/ Y9 H9 l6 v- h0 d$ Q* w% a1 h. a
6 M; b8 ^; b$ i6 V, ~2 a9 o

: p. U/ p4 u; r- e; F3 R3 f: ?! v
8 s" P5 ]+ Y& G6 M3 m: ?$ y0 p- d* x- b( I2 I/ S& z8 {6 Z





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