欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据结构课程设计--图的遍历.docx

    • 资源ID:26494701       资源大小:13.28KB        全文页数:7页
    • 资源格式: DOCX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构课程设计--图的遍历.docx

    数据结构课程设计-图的遍历 数据结构课程设计-图的遍历 内蒙古科技大学 本科生课程设计论文 题目:图的遍历 2022年07月05日 内蒙古科技大学课程设计任务书 目录 第一章图的遍历原理5 1.1总述6 1.2深度优先遍历6 1.3广度优先遍历 6 第二章需求分析7 第三章总体设计 (7) 3.1程序设计思路 (7) 3.2 功能视图 (8) 第四章类的设计 (8) 4.1 GraphUDN类的设计 (9) 4.2 Queue类的设计 (10) 第五章详细设计 (10) 5.1 工程视图和类视图 (10) 5.2 主要算法的流程图 (11) 5.2.1 主函数的流程图 (11) 5.2.2 深搜流程图 (12) 5.2.3 广搜流程图 (13) 第六章测试 (14) 6.1 菜单界面 (15) 6.2 创建无向网 (15) 6.3 输出图 (16) 6.4 输出顶点V的第一个邻接点 (16) 6.5 输出顶点V的下一个邻接点 (17) 6.6 深搜 (17) 6.7 广搜 (18) 第七章总结 (18) 附录:程序代码 (20) 参考文献 (29) 第一章图的遍历原理 1.1总述 图的遍历:从图中某一顶点出发访遍图中其余顶点,且使得每一个顶点仅被访问一次。这一过程就叫做图的遍历。 1.2深度优先遍历 深度优先遍历类似于树的先根遍历,是树的先根遍历的推广。 假如初始状态是图中所有顶点未曾被访问,则深度优先遍历可从图中某个顶点V出发,访问此顶点,然后依次从V的未被访问的邻接点出发深度优先遍历图,直到图中所有和V有路径相通的顶点都被访问到;若图中此时尚有顶点未被访问,则另选图中一个未曾被访问的顶点作起始点,重复上述过程,直到图中所有顶点都被访问到为止。 以图1.1为例,假如从顶点V1出发进行搜索,在访问了顶点V1之后,选择邻接点V2。因为V2未曾访问,则从V2出发进行搜索。以此类推,接着从V4,V8,V5出发进行搜索。在访问了V5之后,由于V5的邻接点都已被访问,则搜索回到V8。由于同样的理由,搜索回到V4,V2直到V1,此时由于V1的另一个邻接点未被访问,则搜索又从V1到V3,再继续进行下去。由此,得到的顶点访问序列为: V1V2V4V8V5V3V6V7 1.3广度优先遍历 广度优先遍历类似于树的按层次遍历的过程。 假如从图中某顶点V出发,在访问了V之后依次访问V的各个未曾访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使“先被访问的顶点的邻接点”先于“后被访问的顶点的邻接点”被访问,直到图中所有已被访问的顶点的邻接点都被访问到。若图中此时尚有顶点未被访问,则另选图中一个未曾被访问的顶点作起始点,重复上述过程,直到图中所有顶点都被访问到为止。 以图1.1为例,首先访问V1和V1的邻接点V2和V3,然后依次访问V2的邻接点V4和V5及V3的邻接点V6和V7,最后访问V4的邻接点V8。由于这些顶点的邻接点均已被访问,并且图中所有顶点都被访问,由此完成图的遍历。得到的顶点访问序列为: V1V2V3V4V5V6V7V8 第二章需求分析 要求设计类(或类模板)来描述图,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数: ?输入图、输出图 ?求图中顶点V的第一个邻接点 ?求图中顶点V的下一个邻接点 ?深度优先遍历图 ?广度优先遍历图 并设计主函数测试该类(或类模板)。 第三章总体设计 3.1程序设计思路 本系统有六个基本功能:输入图,输出图,求图中顶点V的第一个邻接点,求图中顶点V的下一个邻接点,深度优先遍历图,广度优先遍历图。 输入图:首先需输入顶点数及边数,然后根据顶点数确定矩阵大小,再根据边数输入对应的两点及权值。 输出图:先输出有所有边及对应的权值,再输出矩阵。 求图中顶点V的第一个邻接点:通过输入顶点v就可以输出其第一个邻接点。 求图中顶点V的下一个邻接点:通过输入顶点v及另一点,就可以从该位置的下一个位置开始,找到顶点V的下一个邻接点。 深度优先遍历图:由1.1所述可知,图的深度优先遍历显然是一个递归的过程。为了在遍历过程中便于区分顶点是否被访问过,需要附设一个访问标志数组,其初始值为false,一旦某个顶点被访问,则将其相应的分量置为true。 广度优先遍历图:由1.2所述可知,和深度优先遍历类似,在广度优先遍历的过程中也需要一个访问标志数组。并且为了顺次访问路径长度为2,3,的顶点,需要附设队列以存储已被访问的路径长度为1,2,的顶点。 3.2 功能视图 本程序主要包含六个功能,即图的创建,输出,访问顶点V的第一个和下一个邻接点,以及深搜和广搜。其功能视图如图2.1所示。 无向图的实 现 创建无向图输出无向图访问邻接顶 点 访问下一个 邻接顶点 深度优先遍 历 广度优先遍 历图3.1功能视图 第四章类的设计 4.1 GraphUDN类的设计 GraphUDN类包括:1.私有的数据成员,其中有顶点访问标志,顶点集,邻接矩阵,顶点数就边数 2.公有的成员函数,其中有创建输出图,输出顶点V的第一个和下一个邻接点,以及深搜和广搜。具体见以下程序段:classGraphUDN public: GraphUDN (); void create(); /创建图 void showGraph(); /输出图 intfirstAdjvex(int v); /输出v的第一个邻接顶点 intnextAdjvex(int v, int w); /输出下一个邻接顶点 void dfsTravel(); /深度优先遍历 voiddfs(int v); void bfsTravel(); /广度优先遍历 private: bool visitedMAX_VERTEX_NUM; /顶点访问标志 int vexsMAX_VERTEX_NUM; /顶点集 int arcsMAX_VERTEX_NUMMAX_VERTEX_NUM; /邻接矩阵 intvexNum; intarcNum; ;

    注意事项

    本文(数据结构课程设计--图的遍历.docx)为本站会员(h****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开