- 在线时间
- 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
- 自我介绍
- 软件开发工程师
 |
- {+ g; m; p6 c5 p8 u+ J- K' A7 v' v
百度百科:最短路径9 v# o* X2 E, o3 f I0 u% O9 c
0 E: H& s3 g) x8 W8 s# [
用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。
2 L7 _: a% _5 S) w1 Q" `; f中文名 最短路径- h0 r. Y: ~3 n0 J% _" Y
特点 以起始点为中心向外层层扩展
; I1 z+ {. ]4 |! {: q5 I性质 一个经典算法问题! { h$ m4 E% J( Z G0 l8 z
解决方法 Dijkstra算法A*算法
) s! L( E' Y* r( ^2 c
3 J0 a8 W( [) e' B. i# A: D1 [概述' h* @5 J$ O$ v7 D/ Y( K
1 K; [0 @+ J$ a4 L
最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算法具体的形式包括:
) A; Z, G9 R2 j, b1 E: `: j确定起点的最短路径问题 - 即已知起始结点,求最短路径的问题。
' m- i0 ^" B( C) u" o确定终点的最短路径问题 - 与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。& I4 U" W4 ~+ b1 c
确定起点终点的最短路径问题 - 即已知起点和终点,求两结点之间的最短路径。3 @: h* e4 c8 v+ w3 n6 E* K
全局最短路径问题 - 求图中所有的最短路径。
# o0 f/ @4 Y# P8 i0 {3 n/ |
$ `! r, K3 V' k" O+ A/ ^9 a////////////////////////////////////////////////////////////, X; R; n4 l2 ~ w/ A
% {+ L+ u* p5 S* H" a
最短路径算法小软件V5.0* p+ C/ c/ ~( @) C
2018年6月
4 O$ d- N+ [! z0 n; H" N5 b W作者:李庚子李丙寅(李均宇)
& j9 E- e5 v, g: t8 V; L/ AQQ:165442523 ; C2 |' y9 {4 @1 ]: C8 W8 X+ Y
EMail:165442523@qq.com
k& _4 t! y& e! b: ?) Ghttp://www.okmyok.com/lisoft.htm3 L5 U! e7 x0 J9 z% f- E
( q+ N3 Y/ T8 X5 y' \1 W下载地址:
; b1 k; K$ y6 y# T9 }https://pan.baidu.com/s/1dY_9GQC3G435d2nke2WoQg1 }8 _2 m4 F" ]0 I7 O6 {
k5 f5 K6 F% `3 s
2 y# ^) G A5 Z, T5 h- a. I2 Q# M+ x
9 p" Y( s. x' M8 @: A6 Q
# p3 |3 K. a6 C; u4 D! \/ L
2 L' g+ [) K2 o
3 r( Z; ~! [3 ]: A
最短路径算法小软件5.0EXE.zip
(3.38 MB, 下载次数: 1)
( X7 j$ E" {- H) m8 z, t
* D+ {7 X7 Y2 N1 B! A" s$ n$ `
8 R C4 z4 ~5 n2 J0 c
6 T# N& p) r* E$ `4 U
! l2 |* L/ n, y1 ~" D& q
, |& @4 I" p4 F
' G" a3 B8 g# T7 i% ?4 @ H- t4 ]
' T7 n2 m' p* b D3 j* X' a& k
+ L4 ]$ Q3 A' c6 L+ V. F; e
7 e N1 e: v4 `. X: n" [
* H4 \/ f6 [6 q8 n# N- J6 c3 P8 F4 K6 x6 b# a* G. g" D$ ]
) V3 U! V0 k* K |5 p
; ?1 ^' H7 }! O! G7 \% g1 q0 i) m6 e; n
" W* O8 M- f% [8 N6 X4 q5 |% t
- D% e! d) e) D5 }' m q( e" p
8 s/ e3 g6 _, y7 z1.本软件为小软件,不想为项目管理花过多时间,例如要新增一个项目,又删除或修改一个项目等。
8 \ j* _8 r7 y, I7 i3 C为此,本小软件只有两个默认的项目,一个为演示项目,一个用户当前正在使用的项目,不能增也不能减。
( ^( A1 f V: C4 F9 J8 ^* ~- I用户可以清空当前的用户项目,从而使用自已自定义的项目。先输入质点数等等。% W( l& C g6 H- q2 c
如果你要多个项目,可以COPY多个本软件所在文件夹使用。
9 e, ]0 z5 v$ u$ n( q. n2.初始化粗略质点坐标时,边长不作校验,例如,三角形两边长之和本应大于第三边,但是输入时三角形两边长之和小于第三边,将不作检验,所以请手工确保原始数据的正确性。& w- Q4 l. X L, u* ?
3.质点坐标是屏幕像素坐标,left,top,纵坐标向下不是向上,与数学上的纵坐标方向相反。
( U. F/ T8 f% N. Q/ g4.坐标为屏幕像素坐标,所以只能整数,边长为两位小数,如果四舍五入导致的出错不作处理。
3 m. g9 Z6 I: s7 ~. \5.注意,用户要先点击“注意:先清空用户项目!!!”才可以自定义自已要用到的顶点数的改变。
- t* A& ~/ _4 p( h8 {3 i7 K1 m, |8 M) W, L+ b4 z0 Q
3 r; j; q3 s& d( F
本次升级到5.0主要修改如下:
" a' t2 A q r U; X; `* P# \4 ~1。边线条改成灰色,当鼠标移到边线条时,高亮显示边与边长数字,这对于边长数字重叠时有用。9 i* K' s/ `0 B# e! H
2。点坐标可以超出屏幕范围自动产生滚动行,但点坐标不可以为负数。& D1 }" v+ M' s: \! }+ d
3。增加了SPFA算法,来处理边长为 0 或者负数的情况,但SPFA当有负环时无解。
) L6 I" h1 Z# ?; k M4。增加了处理负环的两个新算法,这两个算法皆为作者自创的新算法,一个点与边都不可以重复,另一个点可以重复,边不可以重复。1 P: R" @) N- ~; I3 n
5。边长为负数时最好有方向单向,一般不允许双向或无向。或者每条双向无向的负数边,可以每次取单向,如此组合出所有情况,来求最短路径,再在所有最短路径中再取其最小值。这个组合的算法暂不处理,由用户手工处理。
( f/ `2 S8 A2 y. G2 I8 @" s4 i* q* C+ e: e Y
升级到4.0时主要修改如下:8 N' \0 e5 b6 Z+ t8 m7 `
1。更正了算法上的一个BUG。2 ~- Y1 C4 `9 @* b: ?% ?
2。边长由只可以为整数升级为可以为两位小数。
y) ]7 v0 q; Z. W1 w& E' Y3。增加了可以保存运算结果,下次不用再运算的功能。. Z+ t, j$ C1 m) A' X% \* X5 B
4。增加了可以列举所有最短路径的功能,不止一条最短路径时有用。
/ v% M' `% X! [; U: ? v p2 o" o5。增加了边向量功能,边向量方向可以双向或无向,或序号从小指向大,或序号从大指向小,三种选择。8 q4 b( X' T4 z
6。改正了设置起点和终点的小BUG,增加了进度条显示。
% ~! t. i# d/ R/ z8 i4 p7。增加了可以鼠标拖动质点,所相关联的边相应变动的功能。
7 b: ?# `4 P) f; G& N5 o. [9 ~% }) I! `3 y8 u
作者的个人网站:http://www.okmyok.com/lisoft.htm
) S: C2 V7 r% j, p上面有作者个人开发的所有软件,全免费下载。免费但不开源,源代码要收费。
! Y0 f; C& T, U1 |; u上面有作者个人开发的中医五运六气和子午流注软件,有PC电脑版,安卓版,ASP网页版等。
% w9 x, @. u/ r+ ]还有作者开发的“行星财务”安卓软件,是一款在安卓设备上运行的真正意义上的财务软件,不是记录个人收支的个人记账,在安卓手机上可以运行,掌上财务软件。
* j) A5 p. W+ N) j还有作者开发的TSP算法小软件,或叫旅行商问题,不了解者可以百度。
H% Z! Y1 E5 Q* H还有作者开发的表达式求值的计算器,可以层层括号等等。。。: n. X. _4 U, [
2 z; x' q1 i! t% b- |我的软件全免费,无广告,无须权限,无须上网,无时间和任何功能限制,纯绿色不污染系统,不体积庞大。。。
' ~, Q4 l- V+ I( _3 U
; X& H0 j! W$ F4 K1 ]* v4 j! q0 D* n$ U! {3 H. C
: H5 L( }& ]4 U- h1 N" ]
. x: |. `# b3 L( L
. Z0 M# b* `2 m- o0 a
8 n- d# `6 z' b* q& x: K! i& G* Y
9 v, Y' T3 _ I @5 C9 R. O) k3 Z' y6 I' `1 }& M0 r( v, O+ a- T
1 X$ h5 h, T, C3 V+ N
, j' |2 p2 b0 ] Z1 s2 a4 z& ~, Q
) @$ q1 k" A9 q. T4 G7 K& f& N' Z- `' _; ^
$ b) b! ]5 r9 ?6 l2 F h7 x- R* `4 K( Q4 ] P2 K: P+ J m! ~- |
/ P0 Y+ D C' ^
/ K a1 r' T8 [! h8 q
6 q& M7 r1 h. D- W
( O* f2 g2 A4 r8 ^; e% v) Q
8 z, R# ]1 o( m! Y; J# g" O" j
, J) U6 K* C! n# v! F; J3 ]
. s2 w; |& T, I# D
) u! w: L: E& u; E, e, ~7 ^
~3 E z z+ b
" T6 n! f1 m y. k! L! `; t) h3 P, }8 e
|
zan
|