校园光纤网络铺设课程设计报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
校园光纤网络铺设课程设计报告

东北大学计算机科学与工程学院数据结构课程设计报告题目 校园光纤网络铺设课题组长 刘诚阳课题组成员 姚伟 杜宇专业名称 计算机科学与技术班级计算机1405指导教师 孟凡荣2016 年 1月课程设计任务书题目:校园光纤网络铺设问题描述:东北大学铺设校园光纤网络。假设有N个学院和办公楼,只需要铺设N-1条光缆通道。采用最小生成树的算法,给出一个最佳铺设方案。设计要求:设计基于最小生成树的校园光缆铺设程序。(1)采用图结构、并集树等数据结构。(2)可以随机、文件及人工输入数据。(3)采用克鲁斯卡尔算法设计最小代价生成树(4)可以采用堆排序算法选择权值最小的边。(5)采用并集树完成树边的查询和合并。(6)其它完善性或扩展性功能。指导教师签字:年  月  日1 课题概述51.1课题任务51.2 课题原理51.2.1 克鲁斯卡尔算法51.2.2 堆排序61.2.3 并集树71.3 相关知识72 需求分析72.1 课题调研72.2 用户需求分析83 方案设计93.1 总体功能设计93.2 数据结构设计93.3 函数原型设计113.4 主算法设计123.5 用户界面设计133.6 输入输出设计154 方案实现164.1 开发环境与工具164.2 程序设计关键技术164.3 个人设计实现174.3.1 刘诚阳设计实现174.3.2 姚伟设计实现264.3.3 杜宇设计实现295 测试与调试315.1 个人测试315.1.1 刘诚阳测试315.1.2 姚伟测试365.1.3 杜宇测试365.2 组装与系统测试375.3 系统运行376 课题总结386.1 课题评价386.2 团队协作386.3 个人设计小结396.3.1 刘诚阳设计小结396.3.2 姚伟设计小结406.3.3 杜宇设计小结407附录41A 课题任务分工41A-1 课题程序设计分工41A-2 课题报告分工42B 课题设计文档43B-1课程设计报告(电子版)43B-2源程序代码(*.H,*.CPP)43B-3工程与可执行文件54B-4屏幕演示录像文件54C 使用手册54C.1 运行环境说明54C.2 操作说明541 课题概述1.1课题任务【问题描述】东北大学铺设校园光纤网络。假设有N个学院和办公楼,只需要铺设N-1条光缆通道。采用最小生成树的算法,给出一个最佳铺设方案。【设计要求】设计基于最小生成树的校园光缆铺设程序。(1)采用图结构、并集树等数据结构。(2)可以随机、文件及人工输入数据。(3)采用克鲁斯卡尔算法设计最小代价生成树(4)可以采用堆排序算法选择权值最小的边。(5)采用并集树完成树边的查询和合并。(6)其它完善性或扩展性功能。1.2 课题原理1.2.1 克鲁斯卡尔算法假设 WN=(V,{E}) 是一个含有 n 个顶点的连通网,则按照克鲁斯卡尔算法构造最小生成树的过程为:先构造一个只含 n 个顶点,而边集为空的子图,若将该子图中各个顶点看成是各棵树上的根结点,则它是一个含有 n 棵树的一个森林。之后,从网的边集 E 中选取一条权值最小的边,若该条边的两个顶点分属不同的树,则将其加入子图,也就是说,将这两个顶点分别所在的两棵树合成一棵树;反之,若该条边的两个顶点已落在同一棵树上,则不可取,而应该取下一条权值最小的边再试之。依次类推,直至森林中只有一棵树,也即子图中含有 n-1条边为止。通过克鲁斯卡尔算法求最小生成树的过程如下图:(a)将边按权重排序,选取最小的边 (b)继续选取权重最小的边(c)继续选取,但选取的边不能构成回路 (d)完成图1.1克鲁斯卡尔算法选取最小生成树克鲁斯卡尔算法的时间复杂度为(e为网中边的数目),适合于求边稀疏的网的最小生成树。1.2.2 堆排序堆的定义:n个元素的序列{k1,k2,…,kn}当且仅当满足下列关系之一时,称之为堆。 情形1:ki?= k2i?且ki?= k2i+1?(最小化堆或小顶堆) 情形2:ki?= k2i?且ki?= k2i+1?(最大化堆或大顶堆)其中i=1,2,…,n/2向下取整。堆排序利用了大顶堆(或小顶堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序区中选取最大(或最小)关键字的记录变得简单。本次课程设计中,采用的是小顶堆实现。用小顶堆排序的基本思想:① 先将初始文件R[1..n]建成一个小顶堆,此堆为初始的无序区② 再将关键字最小的记录R[1](即堆顶)和无序区的最后一个记录R[n]交换,由此得到新的无序区R[1..n-1]和有序区R[n],且满足R[1..n-1].keys≥R[n].key③由于交换后新的根R[1]可能违反堆性质,故应将当前无序区R[1..n-1]调整为堆。然后再次将R[1..n-1]中关键字最小的记录R[1]和该区间的最后一个记录R[n-1]交换,由此得到新的无序区R[1

文档评论(0)

baobei + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档