W
wishme3
Unregistered / Unconfirmed
GUEST, unregistred user!
表结构如下:
起点 终点 距离
A E 100
A B 20
A C 30
B E 50
C E 60
以A为起点到E有三条路:
A直接到E为100公里
从A到B为20公里,再从B到E为50公里,共70公里
从A到C为30公里,再从C到E为60公里,共90公里
根据算法选择A为起点到E最短路程,步骤如下:
(1)、我先选出以A为起点的路,得到
起点 终点 距离
A E 100
A B 20
A C 30
取出最小的一条:
起点 终点 距离
A B 20
其它两条记录要参与下次比较
(2)、再以上面的终点B为起点查找,找到一条记录
起点 终点 距离
B E 50
加上前面两条记录,共三条
A E 100
A C 30
B E 50
再取出最小的一条
A C 30
其它两条记录要参与下次比较
(3)、再以上面的终点C为起点,找到一条记录
起点 终点 距离
C E 60
加上前面上面的另外两条记录,共三条
A E 100
B E 50
C E 60
再取最小一条:
B E 50
这时,终点为E,表示查找完成
结果为 A-B-E,为20+50=70
要的结果就是:路线:A-B-E,距离:70
怎样把它写成程序?如果点多的话,怎样合理的循环实现该功能?
起点 终点 距离
A E 100
A B 20
A C 30
B E 50
C E 60
以A为起点到E有三条路:
A直接到E为100公里
从A到B为20公里,再从B到E为50公里,共70公里
从A到C为30公里,再从C到E为60公里,共90公里
根据算法选择A为起点到E最短路程,步骤如下:
(1)、我先选出以A为起点的路,得到
起点 终点 距离
A E 100
A B 20
A C 30
取出最小的一条:
起点 终点 距离
A B 20
其它两条记录要参与下次比较
(2)、再以上面的终点B为起点查找,找到一条记录
起点 终点 距离
B E 50
加上前面两条记录,共三条
A E 100
A C 30
B E 50
再取出最小的一条
A C 30
其它两条记录要参与下次比较
(3)、再以上面的终点C为起点,找到一条记录
起点 终点 距离
C E 60
加上前面上面的另外两条记录,共三条
A E 100
B E 50
C E 60
再取最小一条:
B E 50
这时,终点为E,表示查找完成
结果为 A-B-E,为20+50=70
要的结果就是:路线:A-B-E,距离:70
怎样把它写成程序?如果点多的话,怎样合理的循环实现该功能?