数据结构课程设计报告计算机数据结构与算法_计算机-数据结构与算法.pdf
《数据结构课程设计报告计算机数据结构与算法_计算机-数据结构与算法.pdf》由会员分享,可在线阅读,更多相关《数据结构课程设计报告计算机数据结构与算法_计算机-数据结构与算法.pdf(44页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、 洛 阳 理 工 学 院 课 程 设 计 说 明 书 课程名称 数据结构课程设计 设计课题 校园导游程序 专 业 计算机科学与技术 班 级 学 号 姓 名 完成日期 课 程 设 计 任 务 书 设计题目:校园导游程序 设计内容与要求:问题描述 用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。基本要求 (1)查询各景点的相关信息;(2)查询图中任意两个景点间的最短路径。(3)查询图中任意两个景点间的所有路径。(4)增加、删除、更新有关景点和道路的信息。指导教师:
2、2016 年 12 月 20 日 课 程 设 计 评 语 成绩:指导教师:_ 年 月 日 姓名完成日期课程设计任务书设计题目校园导游程序设计内容与要求问题描述用无向网表示你所在学校的校园景点平面图图中顶点表示主要景点存放景点的编号名称简介等信息图中的边表示景点间的道路存放路径长度等信息要求能中任意两个景点间的所有路径增加删除更新有关景点和道路的信息指导教师年月日课程设计评语成绩指导教师年月日目录一问题描述错误未定义书签二基本要求错误未定义书签三测试数据错误未定义书签四算法思想错误未定义书签询两景点之间最短路径函数错误未定义书签查询两景点之间所有路径函数错误未定义书签删除已有的顶点和路径错误未定
3、义书签修改已有的顶点和路径错误未定义书签六数据结构错误未定义书签七测试错误未定义书签八心得错误未目录 一、问题描述.错误!未定义书签。二、基本要求.错误!未定义书签。三、测试数据.错误!未定义书签。四、算法思想.错误!未定义书签。五、模块划分.错误!未定义书签。应用函数.错误!未定义书签。主函数.错误!未定义书签。查询景点信息函数.错误!未定义书签。查询两景点之间最短路径函数.错误!未定义书签。查询两景点之间所有路径函数.错误!未定义书签。删除已有的顶点和路径.错误!未定义书签。修改已有的顶点和路径.错误!未定义书签。六、数据结构.错误!未定义书签。七、测试.错误!未定义书签。八、心得.错误!
4、未定义书签。九、源程序.错误!未定义书签。姓名完成日期课程设计任务书设计题目校园导游程序设计内容与要求问题描述用无向网表示你所在学校的校园景点平面图图中顶点表示主要景点存放景点的编号名称简介等信息图中的边表示景点间的道路存放路径长度等信息要求能中任意两个景点间的所有路径增加删除更新有关景点和道路的信息指导教师年月日课程设计评语成绩指导教师年月日目录一问题描述错误未定义书签二基本要求错误未定义书签三测试数据错误未定义书签四算法思想错误未定义书签询两景点之间最短路径函数错误未定义书签查询两景点之间所有路径函数错误未定义书签删除已有的顶点和路径错误未定义书签修改已有的顶点和路径错误未定义书签六数据结
5、构错误未定义书签七测试错误未定义书签八心得错误未一、问题描述 用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。二、基本要求(1)查询各景点的相关信息;(2)查询图中任意两个景点间的最短路径。(3)查询图中任意两个景点间的所有路径。(4)增加、删除、更新有关景点和道路的信息。姓名完成日期课程设计任务书设计题目校园导游程序设计内容与要求问题描述用无向网表示你所在学校的校园景点平面图图中顶点表示主要景点存放景点的编号名称简介等信息图中的边表示景点间的道路存放路径长度
6、等信息要求能中任意两个景点间的所有路径增加删除更新有关景点和道路的信息指导教师年月日课程设计评语成绩指导教师年月日目录一问题描述错误未定义书签二基本要求错误未定义书签三测试数据错误未定义书签四算法思想错误未定义书签询两景点之间最短路径函数错误未定义书签查询两景点之间所有路径函数错误未定义书签删除已有的顶点和路径错误未定义书签修改已有的顶点和路径错误未定义书签六数据结构错误未定义书签七测试错误未定义书签八心得错误未三、测试数据 菜单函数:依次输入:1,2,3,4,5,6,0 分别对应景点信息查询,最短路径查询,所有路径查询,添加景点及路径信息,删除景点及路径信息,修改景点及路径信息,退出。查询景
7、点信息:输入:1,2 分别对应按编号查询,按景点名称查询 按编号查询:输入编号:1 按景点名称查询:输入名称:大明桥 最短路径查询:输入起始景点和终点景点编号:1,7 所有路径查询:输入起始景点和终点景点编号:2,8 添加景点及路径信息:输入新景点序号:9 输入新景点名称:南门 输入新景点相关信息:充满古韵的门,适合拍照 输入到其余各景点的距离:50,100,20 删除景点及路径信息:输入:1,2 分别对应按编号查询,按景点名称查询 按编号查询:输入需要删除的景点编号:8 修改景点及路径信息:输入:1,2 分别对应修改景点信息,修改道路信息 修改景点信息:输入 1,2 分别对应修改景点名称,修
8、改景点描述 修改景点信息:输入修改序号:1 输入修改后的名称:图书馆 123姓名完成日期课程设计任务书设计题目校园导游程序设计内容与要求问题描述用无向网表示你所在学校的校园景点平面图图中顶点表示主要景点存放景点的编号名称简介等信息图中的边表示景点间的道路存放路径长度等信息要求能中任意两个景点间的所有路径增加删除更新有关景点和道路的信息指导教师年月日课程设计评语成绩指导教师年月日目录一问题描述错误未定义书签二基本要求错误未定义书签三测试数据错误未定义书签四算法思想错误未定义书签询两景点之间最短路径函数错误未定义书签查询两景点之间所有路径函数错误未定义书签删除已有的顶点和路径错误未定义书签修改已有
9、的顶点和路径错误未定义书签六数据结构错误未定义书签七测试错误未定义书签八心得错误未四、算法思想 先利用 CreateUDN 创建初始无向网,通过 main 主函数调用显示,操作功能的选择通过 Menu函数输出,根据游客需求选择景点信息查询、景点之间最短路径查询、景点之间所有路径查询、添加景点信息、删除景点信息或者修改信息。如果是景点信息查询,在 search 中完成,再调用 SearchMenu 选择是按照景点编号或者景点名称查询,游客输入相应内容。如果是景点之间最短路径查询或是景点之间所有路径查询则游客输入起始景点和结束景点;最短路径是用ShortestPath实现,其中运用了迪杰斯特拉算法
10、;所有路径由Searchpath1调用 disppath再调用path,在 path 中通过递归算法实现寻找每一条路并输出。如果是添加景点信息调用 Addnewsight 函数,游客按照提示依次输入信息内容。如果是删除景点信息,选择按照名称删除或是按照序号删除,再调用Deletesight函数,游客输入相应内容进行删除。如果是修改信息,调用Changesight,Changemenu 两个函数,游客按提示选择修改景点信息或者道路信息,再按提示输入修改后得内容。输出使用调用的相应函数。信息保存于文件中。校园导游图 添加景点和路径 查询所有路径 查询最短路径 修改景点和路径 修改路修改景删除景点和
11、路径 按编号 按名称 查询景点信息 按编号 按名称 修改修改姓名完成日期课程设计任务书设计题目校园导游程序设计内容与要求问题描述用无向网表示你所在学校的校园景点平面图图中顶点表示主要景点存放景点的编号名称简介等信息图中的边表示景点间的道路存放路径长度等信息要求能中任意两个景点间的所有路径增加删除更新有关景点和道路的信息指导教师年月日课程设计评语成绩指导教师年月日目录一问题描述错误未定义书签二基本要求错误未定义书签三测试数据错误未定义书签四算法思想错误未定义书签询两景点之间最短路径函数错误未定义书签查询两景点之间所有路径函数错误未定义书签删除已有的顶点和路径错误未定义书签修改已有的顶点和路径错误
12、未定义书签六数据结构错误未定义书签七测试错误未定义书签八心得错误未 五、模块划分 应用函数 void CreateUDN(int v,int a);/*造图函数*/void narrate();/*说明函数*/void ShortestPath(int num);/*最短路径函数*/void output(int sight1,int sight2);/*输出函数*/int Menu();/*主菜单*/void search();/*查询景点信息*/int SearchMenu();/*查询子菜单*/void HaMiTonian(int);/*图的遍历*/void Searchpath1(M
13、Graph g);/*查询两个景点间的所有路径*/void disppath(MGraph g,int i,int j);void path(MGraph g,int i,int j,int k);/*确定路径上第 k+1 个顶点的序号*/void NextValue(int);void display();/*显示遍历结果*/int Addnewsight(int n);/*添加新的景点和路径*/int Deletesight();/*删除景点和路径*/void Changesight();/*修改景点和路径*/int Changemenu();/*修改路径或顶点的选择菜单*/int Sig
14、htmenu();/*选择需该景点的菜单*/姓名完成日期课程设计任务书设计题目校园导游程序设计内容与要求问题描述用无向网表示你所在学校的校园景点平面图图中顶点表示主要景点存放景点的编号名称简介等信息图中的边表示景点间的道路存放路径长度等信息要求能中任意两个景点间的所有路径增加删除更新有关景点和道路的信息指导教师年月日课程设计评语成绩指导教师年月日目录一问题描述错误未定义书签二基本要求错误未定义书签三测试数据错误未定义书签四算法思想错误未定义书签询两景点之间最短路径函数错误未定义书签查询两景点之间所有路径函数错误未定义书签删除已有的顶点和路径错误未定义书签修改已有的顶点和路径错误未定义书签六数据
15、结构错误未定义书签七测试错误未定义书签八心得错误未 主函数 1.功能:初始图通过 main 主函数调用显示,操作功能的选择通过 Menu函数输出,显示为菜单形式提醒用户进行操作,用户选择后在 main 主函数中调用各个函数实现各种功能。2.流程图:604 3 2 1 5 输入相应序号 结束 开始 查询信息 删除信息 所有路径 添加信息 最短路径 修改信息 退出 景点信息和操作目录 姓名完成日期课程设计任务书设计题目校园导游程序设计内容与要求问题描述用无向网表示你所在学校的校园景点平面图图中顶点表示主要景点存放景点的编号名称简介等信息图中的边表示景点间的道路存放路径长度等信息要求能中任意两个景点
16、间的所有路径增加删除更新有关景点和道路的信息指导教师年月日课程设计评语成绩指导教师年月日目录一问题描述错误未定义书签二基本要求错误未定义书签三测试数据错误未定义书签四算法思想错误未定义书签询两景点之间最短路径函数错误未定义书签查询两景点之间所有路径函数错误未定义书签删除已有的顶点和路径错误未定义书签修改已有的顶点和路径错误未定义书签六数据结构错误未定义书签七测试错误未定义书签八心得错误未 查询景点信息函数 1.功能:在 main 主函数中调用 search,打开存储了信息的文件,在显示界面显示已有的景点名称和序号,游客按需求进行序号查询或者名称查询,输入需要查询的序号或者名称后会显示该景点的名
17、称及简介,而后按任意键返回上级菜单选择继续查询或者返回主界面,在查询景点信息函数中实现。2.流程图:no yes 2 1 开始 按编号查询 按景点查询 输入相关信息 是否有此景点 姓名完成日期课程设计任务书设计题目校园导游程序设计内容与要求问题描述用无向网表示你所在学校的校园景点平面图图中顶点表示主要景点存放景点的编号名称简介等信息图中的边表示景点间的道路存放路径长度等信息要求能中任意两个景点间的所有路径增加删除更新有关景点和道路的信息指导教师年月日课程设计评语成绩指导教师年月日目录一问题描述错误未定义书签二基本要求错误未定义书签三测试数据错误未定义书签四算法思想错误未定义书签询两景点之间最短
18、路径函数错误未定义书签查询两景点之间所有路径函数错误未定义书签删除已有的顶点和路径错误未定义书签修改已有的顶点和路径错误未定义书签六数据结构错误未定义书签七测试错误未定义书签八心得错误未 查询两景点之间最短路径函数 1.功能:在 main 函数中调用 narrate函数,打开存储了信息的文件,游客输入起点编号或者终点编号,利用迪杰斯特拉算法 由 ShortestPath最短路径函数 选择一条两点之间的最短路径展示给游客,关闭文件。查询两景点之间所有路径函数 1.功能:当游客输入完毕后,根据之前构建的无向图,执行过程为进层和退层两个阶段。首先开始递归进层,考虑使用基于深度优先思想,在搜素过程中,
19、按照景点编号大小依次访问每一个节点,若访问到一个未被访问且有路径相通的点则将其加入数组 P,直到找到目的地,输出第一条路径,然后开始递归退层,按照之前的方式递归访问它的所有未被访问的相邻节点。并通过相应的设置标志visited的方式使最终能不重复地走遍所有的简单路径。最后输出这些路径即可。添加新的顶点和路径 1.功能:在 Addnewsight 添加新的景点和路径函数 中实现,打开存储了信息的文件,输入需要新添加的景点名称,基本信息介绍并依次输入它到原有各景点的距离,将新信息存储到文件中并保存。姓名完成日期课程设计任务书设计题目校园导游程序设计内容与要求问题描述用无向网表示你所在学校的校园景点
20、平面图图中顶点表示主要景点存放景点的编号名称简介等信息图中的边表示景点间的道路存放路径长度等信息要求能中任意两个景点间的所有路径增加删除更新有关景点和道路的信息指导教师年月日课程设计评语成绩指导教师年月日目录一问题描述错误未定义书签二基本要求错误未定义书签三测试数据错误未定义书签四算法思想错误未定义书签询两景点之间最短路径函数错误未定义书签查询两景点之间所有路径函数错误未定义书签删除已有的顶点和路径错误未定义书签修改已有的顶点和路径错误未定义书签六数据结构错误未定义书签七测试错误未定义书签八心得错误未 删除已有的顶点和路径 1.功能:删除不需要的景点信息,并保存删除后的文件,方便下一次浏览。2
21、流程图:2 1 no 是否有此景点 输入需要删除的景点 yes 开始 按景点编号 按景点名称 姓名完成日期课程设计任务书设计题目校园导游程序设计内容与要求问题描述用无向网表示你所在学校的校园景点平面图图中顶点表示主要景点存放景点的编号名称简介等信息图中的边表示景点间的道路存放路径长度等信息要求能中任意两个景点间的所有路径增加删除更新有关景点和道路的信息指导教师年月日课程设计评语成绩指导教师年月日目录一问题描述错误未定义书签二基本要求错误未定义书签三测试数据错误未定义书签四算法思想错误未定义书签询两景点之间最短路径函数错误未定义书签查询两景点之间所有路径函数错误未定义书签删除已有的顶点和路径错误
22、未定义书签修改已有的顶点和路径错误未定义书签六数据结构错误未定义书签七测试错误未定义书签八心得错误未 修改已有的顶点和路径 1.功能:修改有误的景点信息,并保存修改后的文件,方便下一次浏览。2流程图:2 2 1 22 1 开始 修改道路信息 输入相关信息 修改景点信息 输入道路信息 输入景点编号 姓名完成日期课程设计任务书设计题目校园导游程序设计内容与要求问题描述用无向网表示你所在学校的校园景点平面图图中顶点表示主要景点存放景点的编号名称简介等信息图中的边表示景点间的道路存放路径长度等信息要求能中任意两个景点间的所有路径增加删除更新有关景点和道路的信息指导教师年月日课程设计评语成绩指导教师年月
23、日目录一问题描述错误未定义书签二基本要求错误未定义书签三测试数据错误未定义书签四算法思想错误未定义书签询两景点之间最短路径函数错误未定义书签查询两景点之间所有路径函数错误未定义书签删除已有的顶点和路径错误未定义书签修改已有的顶点和路径错误未定义书签六数据结构错误未定义书签七测试错误未定义书签八心得错误未 六、数据结构 MGraph定义图的类型,其中包含景点,景点之间的距离,景点数和边数。VertexType是景点的结构体,里面包含了景点编号,景点名称,景点描述。ArcCell 是边的结构体,其中包含了边的长度即景点之间的距离。typedef struct ArcCell int adj;/*相
24、邻接的景点之间的路程 */ArcCell;/*定义边的类型*/typedef struct VertexType int number;/*景点编号*/姓名完成日期课程设计任务书设计题目校园导游程序设计内容与要求问题描述用无向网表示你所在学校的校园景点平面图图中顶点表示主要景点存放景点的编号名称简介等信息图中的边表示景点间的道路存放路径长度等信息要求能中任意两个景点间的所有路径增加删除更新有关景点和道路的信息指导教师年月日课程设计评语成绩指导教师年月日目录一问题描述错误未定义书签二基本要求错误未定义书签三测试数据错误未定义书签四算法思想错误未定义书签询两景点之间最短路径函数错误未定义书签查询两
25、景点之间所有路径函数错误未定义书签删除已有的顶点和路径错误未定义书签修改已有的顶点和路径错误未定义书签六数据结构错误未定义书签七测试错误未定义书签八心得错误未 char sight100;/*景点名称*/char description1000;/*景点描述*/VertexType;/*定义顶点的类型*/typedef struct VertexType vex20;/*图中的顶点,即为景点*/ArcCell arcs2020;/*图中的边,即为景点间的距离*/int vexnum,arcnum;/*顶点数,边数*/MGraph;/*定义图的类型*/七、测试 .测试数据 输入:根据游客需求选择
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 报告 计算机 算法
限制150内