数学建模社区-数学中国

标题: 求助:用matlab求出从指定起点到终点的所有最短路径 [打印本页]

作者: kaipuyu    时间: 2009-4-17 09:45
标题: 求助:用matlab求出从指定起点到终点的所有最短路径
由于从指定起点到终点的最短路径不止一条,求助怎么用matlab求出从指定起点到终点所有最短路径
作者: algbraic    时间: 2009-4-17 17:06
用dikjstra算法工具箱
作者: hbtmmxw    时间: 2009-4-18 22:43
用dijkstra算法,编程
作者: kaipuyu    时间: 2009-4-22 09:00
请问在哪里能找到dikjstra算法工具箱?是matlab自带的吗??
作者: kaipuyu    时间: 2009-4-22 15:30
dijkstra算法只能找到起点到终点的一条最短路径啊
作者: chenvy    时间: 2009-5-21 23:53
 Dijkstra算法是典型最短路算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。
  Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。
  Dijkstra一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表方式,Drew为了和下面要介绍的 A* 算法和 D* 算法表述一致,这里均采用OPEN,CLOSE表的方式。
  其采用的是贪心法的算法策略
  大概过程:
  创建两个表,OPEN, CLOSE。
  OPEN表保存所有已生成而未考察的节点,CLOSED表中记录已访问过的节点。
  1. 访问路网中距离起始点最近且没有被检查过的点,把这个点放入OPEN组中等待检查。
  2. 从OPEN表中找出距起始点最近的点,找出这个点的所有子节点,把这个点放到CLOSE表中。
  3. 遍历考察这个点的子节点。求出这些子节点距起始点的距离值,放子节点到OPEN表中。
  4. 重复第2和第3步,直到OPEN表为空,或找到目标点。
程序自己编吧,或者google搜一下,多着呢
作者: vFish    时间: 2009-7-2 20:22
有dikjstra算法工具箱?
作者: chaikeen    时间: 2009-7-3 09:41
xiexie!!!!!!
作者: 李芳    时间: 2014-4-21 20:09

作者: 忘忧草小康    时间: 2014-4-21 21:43
我也在找啊




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