c数据结构课程设计

发布 2022-10-05 02:36:28 阅读 9036

重庆大学信息科学与工程学院。

实验报告。课程名称:数据结构。

实验名称:宿舍管理查询软件。

专业: 计算机科学与技术。

班级: 姓名:

时间:2023年7月1日。

1、实验内容。

1) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:

a. 采用交互工作方式。

b. 建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)

2) 查询菜单: (用二分查找实现以下操作)

a. 按姓名查询

b. 按学号查询

c. 按房号查询。

3) 输出任一查询结果(可以连续操作)

2、预备知识和参考资料。

1、 二分查找法(折半搜索法)

2、 数据排序方法(冒泡、选择、插入等任何一种)

3、流程图。

4、算法分析。

1)二分查找法算法:

若设有n个元素存放在一个有序的顺序表中,采用折半搜索时。先求出位于搜索区间正中的元素的下标mid,用其关键码element[mid].key与给定值x进行比较,比较结果有3 种可能:

1、 若element[mid].key=x,搜索成功,报告成功信息并返回其下标;

2、 若x3、 若x>element[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、设计心得。

这次的课程设计,加强了我们的动手、思考和解决问题的能力。巩固和加深了对数据结构的理解,提高了综合应用本课程所学知识的能力。培养了我选用参考书,查阅手册及相关文献资料的能力。

培养了独立思考,深入研究,分析问题,解决问题的能力。通过实际编译系统的分析设计、编程调试,掌握了应用软件的分析方法和过程设计方法。做课程设计同时也是对课本知识的巩固和加强,平时看课本时,有些问题不是很理解,做完课程设计,那些问题就迎刃而解了。

二姐还可以记住很多东西。认识**于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。所以这个期末测试之后的课程设计对我们的作用是非常大的。

这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在整个设计过程中,构思是最花费时间的。调试是经常会遇到这样那样的错误,有的是因为粗心造成的语法错误。

当然,很多也是用错了方法,总是实现不了。同时在设计过程中发现了自己的不足之处,对以前学过的知识理解的不够深刻,掌握的不够牢固。

根据我在课程设计中遇到的问题,我将在以后的学习过程中注意一下几点:

1、 认真上好专业实验课,多在实践中锻炼自己。

2、 写程序的过程中要考虑周到、严密。

3、 认真学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。

4、 在课余时间里多写程序,熟练掌握在调试程序过程中所遇到的常见错误,以便能节省调试程序的时间。

这次课程设计最终顺利完成,在设计中遇到很多专业知识问题,最后在查找相关资料及和别的同学的交流下,完成了本次设计。

6、参考资料。

数据结构(用面象对象方法与c++语言描述)》

7、附录。课程设计**:

1)选择法排序。

选择排序是这样实现的:

设数组内存放了n个待排数字,数组下标从1开始,到n结束。

i=1从数组的第i个元素开始到第n个元素,寻找最小的元素。

将上一步找到的最小元素和第i位元素交换。

如果i=n-1算法结束,否则回到第3步。

选择排序的平均时间复杂度也是o(n²)的。

举个例子:要排序的数字有564

比如说这个,我想让它从小到大排序,怎么做呢?

第一步:从第一位开始找最小的元素,564中4最小,与第一位交换。结果为465

第二步:从第二位开始找最小的元素,465中5最小,与第二位交换。结果为456

第三步:i=2,n=3,此时i=n-1,算法结束。

选择法排序简单**如下:

void select(int a,int n)

for (i=1;i

数据结构c语言课程设计报告

数据结构。课程设计报告。设计题目 迷宫求解。专业机电一体化 班级 08专接本 学生。学号 1 指导教师高在村。完成时间 2011.5 一。实验内容 3 二。需求分析 3 三 总体设计 3 四 详细设计 5 五 9 六。测试 14 七。总结 16 参考文献 17 任务 可以输入一个任意大小的迷宫数据,...

数据结构课程设计

课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...

数据结构课程设计

数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...