数据结构课程设计--弗洛伊德算法与最短路径
《数据结构课程设计--弗洛伊德算法与最短路径》由会员分享,可在线阅读,更多相关《数据结构课程设计--弗洛伊德算法与最短路径(10页珍藏版)》请在毕设资料网上搜索。
1、 数据结构课程设计报告 学 院:信 息 科 学 技 术 学 院 题题 目目: 弗洛伊德算法与最短路径 一、课程设计题目 弗洛伊德算法与最短路径 二、用途简介 1、最短路径问题在生活中时常见到:比如,我们去某一地方,我们总是想知 道到达目的地的最短路径,或者是最短到达时间。 2、设计思路: 先用迪杰斯特拉算法,找到有向图中某一顶点到别的顶点的最短路径, 再 不断的调用我们刚刚写的迪杰斯特拉算法。最后输出任意两点之间的最短路径。 迪杰斯特拉算法的实现方法是,对于有向图采用邻接矩阵的方法存放。然 后建立两个数组,其中一个数组存放的是某一顶点到这点的最短路径的值。 另一 个数组定义为线性链表的表头单元
2、,然后再数组后面不断加入顶点路径。 再在迪 杰斯特拉算法内部设一个数组,用来标记顶点元素是否被访问。 每次在寻找权值 最小的且没有被访问过得顶点。 再加入新顶点后要修正那些还没有被访问的点的 权值。 三、测试数据: 测试数据表一: 0 50 10 Inf 45 Inf Inf 0 15 Inf 10 Inf 20 Inf 0 15 Inf Inf Inf 20 Inf 0 35 Inf Inf Inf Inf 30 0 Inf Inf Inf Inf 3 Inf 0 表一的顶点数据在数组中按下标从小到大存放的顺序为 abcdef。 测试数据表二: 0 4 Inf 12 0 5 6 Inf 0
3、表一的顶点数据在数组中按下标从小到大存放的顺序为 ABC。 四、概要设计 1、元素类型、结点类型和指针类型: typedef struct arcnode int adj; arcnode; typedef struct char vertexmax; arcnode arcsmaxmax; int vexnum,arcnum; matrix; typedef struct linknode char data; struct linknode *next; linklist; 2、建立一个头结点数组 pathmax,和最短路径数组 distmax: int distmax,i; linkli
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 弗洛伊德 算法 路径
