- 在线时间
- 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
- 自我介绍
- 软件开发工程师
 |
# a, c% {9 O$ I( s, z/ C" ]百度百科:最短路径9 g @; X! P& I$ o' w2 _7 k
" `- x9 b0 c- H' Z* C8 B用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。" g: ~; N6 o. Y
中文名 最短路径' j/ c3 v2 O. n8 J% h8 X+ N' W
特点 以起始点为中心向外层层扩展7 H- z, M6 C" d2 |
性质 一个经典算法问题
. ?; t2 q6 N3 p5 x& M! U解决方法 Dijkstra算法A*算法
: m! {3 ?3 i: B( Z6 L/ s
+ y N# I# u' n7 v! _% K概述
z/ H1 ^, u5 w! }# m) S
' U$ H1 V* V1 O' X9 X) Z4 C- k最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算法具体的形式包括: G+ b3 A* r6 ]( ^& f Z Y& U
确定起点的最短路径问题 - 即已知起始结点,求最短路径的问题。
& L, h9 [: ~+ b# [, N4 t# o确定终点的最短路径问题 - 与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。
& i3 _6 R/ {4 `9 r4 n6 W% Z$ J确定起点终点的最短路径问题 - 即已知起点和终点,求两结点之间的最短路径。
6 g, o: q7 K- x) O; E' u+ C全局最短路径问题 - 求图中所有的最短路径。
, }! n9 E4 }; Y7 g/ a/ Y" i* N/ _+ H' K6 j$ {& {9 y
////////////////////////////////////////////////////////////
9 J# C- u* c/ h$ t9 R2 s) X$ Q
" g B: m! Z5 A! ~2 b! _最短路径算法小软件V5.0
" f/ x3 T% D# E! m9 I% a% W2018年6月 ( j- X O. V' c0 G
作者:李庚子李丙寅(李均宇)6 M8 L0 X; z/ d5 Y5 F' L7 W+ ]) s
QQ:165442523 ( `1 R% l1 K4 ^2 E( s
EMail:165442523@qq.com : e; e. g9 m9 ?- b
http://www.okmyok.com/lisoft.htm/ {; v7 N5 C% Y2 C
?& D! x2 a# q0 g& T4 n下载地址:5 a8 |# {8 K# |" ]
https://pan.baidu.com/s/1dY_9GQC3G435d2nke2WoQg# z9 A5 J3 ?) p6 q
! Q# S4 U6 n/ Y' H0 N% t
1 r9 k" R( O0 H
! Y+ `5 @& P* _& Z/ _
; I# V) g, u: {% l
) P9 T- B. `) X' `" _
/ {& C0 W) i: t, G8 h8 s$ P
最短路径算法小软件5.0EXE.zip
(3.38 MB, 下载次数: 1)
) K' J4 y8 t8 n' w& Z4 a. n3 y1 Y
. x* r. m1 F( Z* m
4 `( o# |0 s$ I7 H' G' o/ z
# v8 T* s$ T* p, o; C& J/ c. w- d! P6 A2 a- L0 T/ v
4 E$ A! e3 b1 P9 j
7 o( M% q0 P' r$ e: D2 F
5 Y" E' v1 r. @& G2 D- q% @# @
: H! ]( d! u# y- s, |; w
% Z, S9 W' ^, u. X7 h t; S" F$ {. \ c+ [1 ^8 L
& A/ c% J% M2 _2 W: G" x) R3 a! q( g2 D% M
7 k B" @- Z2 ^
+ i5 l8 z# `: g' v# W0 T k1 D8 \) e1 x* R' D0 ~- \& _
6 x( K& q2 d7 A% M# P
. _; u2 q( M; K5 U+ J& Z1.本软件为小软件,不想为项目管理花过多时间,例如要新增一个项目,又删除或修改一个项目等。
' D5 {* @" |) z- n- ?; |) p7 z为此,本小软件只有两个默认的项目,一个为演示项目,一个用户当前正在使用的项目,不能增也不能减。
4 n% }4 ~0 i( o! D( H e用户可以清空当前的用户项目,从而使用自已自定义的项目。先输入质点数等等。
9 z& |( G N: J# ~7 y9 \9 _如果你要多个项目,可以COPY多个本软件所在文件夹使用。8 R1 f% q8 K ^" n) J
2.初始化粗略质点坐标时,边长不作校验,例如,三角形两边长之和本应大于第三边,但是输入时三角形两边长之和小于第三边,将不作检验,所以请手工确保原始数据的正确性。
. X: w1 [* X' s" K6 y1 _3.质点坐标是屏幕像素坐标,left,top,纵坐标向下不是向上,与数学上的纵坐标方向相反。
$ q: x0 B/ x3 c+ t4.坐标为屏幕像素坐标,所以只能整数,边长为两位小数,如果四舍五入导致的出错不作处理。
7 O* v8 V5 e+ @1 A1 M0 g* G/ L5.注意,用户要先点击“注意:先清空用户项目!!!”才可以自定义自已要用到的顶点数的改变。
& g4 _, c( ~7 U1 v" R+ i4 h9 z
7 ?' G+ U4 ?5 E
$ G# B5 J1 L- B* d( D9 }本次升级到5.0主要修改如下:% Q0 {' l1 x' D1 _# w
1。边线条改成灰色,当鼠标移到边线条时,高亮显示边与边长数字,这对于边长数字重叠时有用。
/ k7 I: v- A% P' F4 x2。点坐标可以超出屏幕范围自动产生滚动行,但点坐标不可以为负数。
) F0 x8 A! m6 Z0 f# g3。增加了SPFA算法,来处理边长为 0 或者负数的情况,但SPFA当有负环时无解。( ]0 r5 b" h% O& Q ~2 G
4。增加了处理负环的两个新算法,这两个算法皆为作者自创的新算法,一个点与边都不可以重复,另一个点可以重复,边不可以重复。3 D- ^1 d" j; }8 x0 n
5。边长为负数时最好有方向单向,一般不允许双向或无向。或者每条双向无向的负数边,可以每次取单向,如此组合出所有情况,来求最短路径,再在所有最短路径中再取其最小值。这个组合的算法暂不处理,由用户手工处理。
$ p& a2 B' [( t/ ?9 V3 K) t! x7 S" S# ^" ~) Z: L/ H4 L. D0 h' i
升级到4.0时主要修改如下:1 Y T1 T1 y+ ~" h4 J4 N3 ]
1。更正了算法上的一个BUG。
" |, Q; X/ p! ~- I* q) p8 g3 Q7 u2。边长由只可以为整数升级为可以为两位小数。+ ~/ ?8 A. i9 ?
3。增加了可以保存运算结果,下次不用再运算的功能。
3 x# A: w( L8 d$ f4。增加了可以列举所有最短路径的功能,不止一条最短路径时有用。
. C2 E1 x4 V2 `, }8 Q: p; Q5。增加了边向量功能,边向量方向可以双向或无向,或序号从小指向大,或序号从大指向小,三种选择。: `' V; B) @- ?, z
6。改正了设置起点和终点的小BUG,增加了进度条显示。/ F9 j4 w/ A7 E3 B* U% F& S! N
7。增加了可以鼠标拖动质点,所相关联的边相应变动的功能。
2 _% p# R3 S! h, y7 z! b+ A
4 |( ?; z+ e9 j3 {. c" j7 G作者的个人网站:http://www.okmyok.com/lisoft.htm6 |+ V1 `# k6 J7 l. n! R
上面有作者个人开发的所有软件,全免费下载。免费但不开源,源代码要收费。 F* T# A) {$ \
上面有作者个人开发的中医五运六气和子午流注软件,有PC电脑版,安卓版,ASP网页版等。
* i/ c! C& J0 X4 [% ~还有作者开发的“行星财务”安卓软件,是一款在安卓设备上运行的真正意义上的财务软件,不是记录个人收支的个人记账,在安卓手机上可以运行,掌上财务软件。+ X4 h0 m& V- Q# C" \% j! }, B q
还有作者开发的TSP算法小软件,或叫旅行商问题,不了解者可以百度。1 P; U. B4 [9 {- \3 e
还有作者开发的表达式求值的计算器,可以层层括号等等。。。
; {" B2 a' U; d" R' _& h. }
6 f6 i3 `. r8 R4 N$ r我的软件全免费,无广告,无须权限,无须上网,无时间和任何功能限制,纯绿色不污染系统,不体积庞大。。。# i) y) {8 j$ A$ @) K% r( _/ o; v
8 q+ g- m0 c6 ?
2 l- {% {) U* Y& K3 ^, }6 B+ G$ A+ g# ~* J6 [; C0 ~
# u9 v1 P- j) c; S0 G( G7 S) @* J$ v T
, ^ R+ N# G4 ?" K
8 i5 O8 y1 a7 Z! f, L( ^* z/ M
# y) p# Y- N4 V: e
2 p' C9 d/ ?' M, e( L7 Q+ r* ?
+ i% _ u0 ]- d& i$ ?% ^
7 L, G+ A, p6 n" S, O& J' [- W! \: A5 V! C1 T1 m
! }9 C1 B4 b- ~
4 [7 |; T( I$ i# \
. \; d' U& j0 g; W/ N/ K; i
& Z/ {& ~9 @& z6 N0 E& b$ L
3 B. [5 k! ]5 Z" X, X9 H
2 z& A9 l5 m5 m$ K' \2 ~" {4 d
$ D4 X3 H5 V2 a! K7 H* \* o2 Z( g1 C0 o# @9 j) {
' f/ o. U) y. |1 l; m; f; J y; `* m0 W+ @# K
) d1 y3 q- s; F @
- K+ `9 f" c8 V5 }( [$ f" p) {8 _3 g5 X2 q* @( Q# j
|
zan
|