c++数据结构程设计.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重庆大学信息科学与工程学院 实验报告 课程名称:数据结构 实验名称:宿舍管理查询软件 专业: 计算机科学与技术 班级: 姓名: 时间:2011年7月1日 课 程 数据结构课程设计 班级 计算机09级3班 指导教师 盛明兰 题 目 宿舍管理查询软件 完成时间 2011年6月20日至2011年7月1日 主要内容 1) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: A. 采用交互工作方式 B. 建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种) 2) 查询菜单: (用二分查找实现以下操作) A. 按姓名查询 B. 按学号查询 C. 按房号查询 3) 打印任一查询结果(可以连续操作) 设计报告要求 课程设计报告要求规范书写。应当包括如下八个部分: 1. 问题描述:描述要求编程解决的问题。2. 基本要求:给出程序要达到的具体的要求。 3. 测试数据:设计测试数据,或具体给出测试数据。要求测试数据能全面地测试所设计程序的功能。 4. 算法思想:描述解决相应问题算法的设计思想。 5. 模块划分:描述所设计程序的各个模块(即函数)功能。 6. 数据结构:给出所使用的基本抽象数据类型,所定义的具体问题的数据类型,以及新定义的抽象数据类型。 7. 源程序:给出所有源程序清单,要求程序有充分的注释语句,至少要注释每个函数参数 8.设计感想 版面要求 题目用黑体三号,段后距18磅(或1行),居中对齐; 标题用黑体四号,段前、段后距6磅(或0.3行); 正文用小四号宋体,行距为1.25倍行距; 4. 标题按“一”、“㈠”、“1”、“⑴”顺序编号。 指导时间安排 星期 周次   二 三 四 17 3-4节(10:00-11:45) 9-12节(19:00-22:00) 7-8节(16.00-17.50) 5-6节(14.00-15.40) 18 9-12节(19:00-22:00) 7-8(16.00-17.50) 3-6节(10.00-11.40) (14.00-15.40) 地点指导 信息科学与工程学院机房 评定 成绩 成绩由三部分组成:平时上机、设计报告书和上机答辩 1、实验内容 1) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: A. 采用交互工作方式 B. 建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种) 2) 查询菜单: (用二分查找实现以下操作) A. 按姓名查询 B. 按学号查询 C. 按房号查询 3) 输出任一查询结果(可以连续操作) 2、预备知识和参考资料 二分查找法(折半搜索法) 数据排序方法(冒泡、选择、插入等任何一种) 3、流程图 4、算法分析 (1)二分查找法算法: 若设有n个元素存放在一个有序的顺序表中,采用折半搜索时。先求出位于搜索区间正中的元素的下标mid,用其关键码Element[mid].key与给定值x进行比较,比较结果有3 种可能: 若Element[mid].key=x,搜索成功,报告成功信息并返回其下标; 若xElement[mid].key,说明如果表中存在要找的元素,该元素一定在mid左侧,可把搜索区间缩小到表的前半部分,再继续进行二分查找. 若xElement[mid].key,说明如果表中存在要找的元素,该元素一定在mid右侧, 可把搜索区间缩小到表的后半部分,再继续进行二分查找。 每比较一次,搜索区间缩小一半。因此在最坏的情况下搜索到要求元素所需的关键码比较次数约为O(log2n)。对于较大的n,显然比顺序搜索快得多。如果搜索区间已经缩小到一个元素,经过与给定值比较仍未找到想要搜索元素,则搜索失败。 (2)选择法排序(把数组中n个数按自小到大排列) 排序需解决两个问题:一是如何选择值最小的数据;二是如何交换两个数据值。 从第i个元素到第n-1个元素中选择最小元素可以采取如下做法:先假定第i个元素值最小,用k标示它;然后顺序检查第i+1,第i+2,……,第n-1个,若检测到还有比刚才最小的还要小的元素,用k标示它。在检查结束后k标示的就是值最小的数据。 交换两个数据中的值时需要一个暂存变量,如用temp作为中介,以进行交换: Temp=a[i];a[i]=a[k];a[k]=temp; 5、设计心得 这次的课程设计,加强了我们的动手、思考和解决问题的能力。巩固和加深了对数据结构的理解,提高了综合应用本课程所学知识的能力。培养了我选用参考书,查阅手册及相关文献资料的能力。培养了独立思考,深入研究,分析

文档评论(0)

su66498185ci + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档