数据结构实践

上传人:新** 文档编号:478592552 上传时间:2022-08-29 格式:DOCX 页数:14 大小:159.43KB
返回 下载 相关 举报
数据结构实践_第1页
第1页 / 共14页
数据结构实践_第2页
第2页 / 共14页
数据结构实践_第3页
第3页 / 共14页
数据结构实践_第4页
第4页 / 共14页
数据结构实践_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《数据结构实践》由会员分享,可在线阅读,更多相关《数据结构实践(14页珍藏版)》请在金锄头文库上搜索。

1、目录第一章 课程设计性质与目的 4第二章 设计内容及基本要求 5第三章 详细设计说明 11项目一 7项目二 16项目三 26第四章 实训总结 37附录 (参考文献、核心代码)第一章 课程设计性质与目的数据结构实训是信息管理与信息系统专业集中实践性环节之一,其目的 就是要达到理论与 实际应用相结合, 使学生能够根据数据对象的特性, 学会数据 组织的方法, 能把现实世界中 的实际问题在计算机内部表示出来, 并培养良好的 程序设计技能。链表和顺序表操作的设计目的: 1 掌握线性表的在顺序结构和链式结构实 现。 2 掌握线性表在顺序结构和链式结构上的基本操作。二叉树操作的设计目的:1 掌握二叉树的概念

2、和性。 2. 掌握任意二叉树 存储结构。3 掌握任意二叉树的基本操作。第二章 设计内容及基本要求 一、实验实训的基本要求是: 本实训面向应用, 以解决实际问题为主。 题目以选用学生相对比较熟悉的为 宜,要求通过本实训,理解有关数据结构的基本概念、 不同数据类型的存储和基 本操作的算法 实现, 理解数据类型的逻辑结构及物理存储结构, 通过自己设计, 编程、调试、测试、能够 基本掌握在不同存储结构下的算法实现及算法优化,树 立并培养系统规范开发的理念。 实训中 学生要将相关课程中学到的知识、 思想和 理念尽量应用在实训中。结束后要按规定提交代码和 各种文档。实训基本步骤:1. 选题 设计的课题尽量

3、结合教学、科研的实际课题,规模、大小适当,具有一定复杂度。应根据题目大小、难度确定是否分组,组内成员人数。2. 数据结构及算法设计 根据需求分析,选择合理的数据结构及设计相应的算法。3. 编码根据已设计的数据结构和算法,编写代码。4. 测试 按照系统测试的原则、方法和步骤,对系统进行测试。测试中应形成测试报 告5. 编写实训报告1)2 )3 )4 )实训说明书,内容及要求如下:封面成绩评定目录说明书正文,主要内容包括:、设计题目、运行环境(软、硬件环境)、数据结构及算法设计的思想四、数据结构及算法设计五、源代码六、运行结果分析七、实习总结(收获及体会)参考资料:附录(核心代码)。、设计内容 项

4、目一:顺序表操作1、设计目的1 )掌握线性表的在顺序结构上的实现。(2)掌握线性表在顺序结构上的基本操作2、设计内容和要求 利用顺序表的插入运算建立顺序表,然后实现顺序表的查找、插入、 删除、 计数、输出、排序、逆置等运算(查找、插入、删除、查找、计数、输出、排序、 逆置 要单独写成函数) ,并能在屏幕上输出操作前后的结果。 项目二:链表操作1、设计目的(1 )掌握线性表的在链式结构上的实现。(2)掌握线性表在链式结构上的基本操作2、设计内容和要求 利用链表的插入运算建立链表,然后实现链表的查找、插入、删除、 计数、 输出、排序、逆置等运算(查找、插入、删除、查找、计数、输出、排序、逆置 要单

5、独 写成函数),并能在屏幕上输出操作前后的结果。 项目三:二叉树的基本操作1、设计目的(1)掌握二叉树的概念和性质(2)掌握任意二叉树存储结构。(3)掌握任意二叉树的基本操作。2、设计内容和要求(1)对任意给定的二叉树(顶点数自定)建立它的二叉链表存储结构,并 利用栈的五种 基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉 树的先序、中序、后序三种 遍历,输出三种遍历的结果。(2) 求二叉树高度、结点数、度为 1 的结点数和叶子结点数。第三章 详细设计说明项目一: 顺序表操作: 考查知识点:(1)利用顺序表的插入运算建立顺序表;(2)实现顺序表的查找、插入、删除、计数、输出、排序、逆

6、置等 运算(查找、插 入、删除、查找、计数、输出、排序、逆置要单独 写成函数);(3) 能够在屏幕上输出操作前后的结果。一、算法1. 创建: #define LIST_INIT_SIZE 100#define LISTINCREMENT 20typedf structElem Type *elem;int length;int listsize;SqList;Status (SqList&L)=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType); if(!exit(OVERFLOW);=0;=LIST_INIT_SIZE;return Ok; 入

7、 :Status ListInsert_Sq(SqList&L,int i,ElemType e) 除 : StatusListDelete_Sq(SqList &L ,nt i,ElemType&e)if(i)return ERROR;p=&i-1);e=*p;q=+;找:|nt LocateElem_Sq(SqList L , ElemType e, 构造 n);printf( 2.插入n);printf( 3.删除n ”);printf( 4.排序n ”);printf( 5.计数n ”);printf( 6.查找n ”);printf( 7.逆置n);printf( 8.输出n ”);

8、printf( 9.退出n ”);for(;)prin tf(Please choose 1 to 9 :n); scan f(%d,&i); switch(i)case 1:1 nitList_Sq(L);break;case 2:List| nsert_Sq(L); break;case 3:ListDelete_Sq(L); break;case 4:Pri nt_Sq(L); break;case 5:ListLe ngth_Sq(L); break;case 6:LocateElem_Sq(L);break;case 7:i nverse_Sq(L);break;case 8:out

9、put_Sq(L);break;case 9: Quit_Sq(L);break; default:printf( 输入有误) ;三、操作结果lease chooK i to 9leas choose 1 to 9F出顺序表4311。忌耳般 chonsi* 1 to 9:k Wi r d cwsystem 32Deb u gqwe. exeIt出丟中元康个散鼠出排序(由小到才:丢3 4 S Blease choose 1 to 9:竄出逆置帧序袤S 4 3 1lcc hooac 1 to 9项目二:链表操作考查知识点:(1)利用链表的插入运算建立链表;(2)实现链表的查找、插入、删除、计数、输

10、出、排序、逆置等运 算(查找、插入、删除、查找、计数、输出、排序、逆置要单独写 成函数);(3)能够在屏幕上输出操作前后的结果。创建 n);、算法printf( 请在1-8功能中选择一个); sca nf(%d,&i);1.创建:void CreateList_L(Li nkList & L)printf(2.插入n);printf(3.删除n);printf(4.计数n);printf(5查找n);printf(6排序n);printf(7.输出n);printf(8逆置n);for(;) 1 C:Wiiin d owEsytem2 2Delbge.exe 車4入惡査新找药第4 一17功能中

11、选摄一个:B千入8要笹MH-IMMU- 仁占S, 点 i为2 -歹青brgp任意给定的二叉树(顶点数自定)建立它的二叉链表存储结构;2. 利用栈的五种基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉树的先序、中序、后序三种遍历,输出 三种遍历的3.求二叉树高度、结点数、度为1的结点数和叶子结点数。二、算法:1.创建二叉树:Status Createbitree(bitree &t)序遍历: StatusPreOrderTraverse(BitreeStatus( * visit )(TEIemType) 序遍历:Status lnOrderTraverse(BitreeStatus(

12、* Visit ) (TElemType)Ini tStack(s);Push (S,T);While(!StackEmpty(s)While(GetTop(s,p)&p)Push(S,p-lchild);Pop(S,p);lf(!StackEmpty(s)Pop(s,p);if (!Visit(p-data)retu ERROR;Push(S,p-rchild);睛选择 1L-B :尸卜 Tgr 69 十口 匚 ; : : 均 树樹树为数 孜白叹1Y2X3叉现度弓点 SfX -上-上-片机W+D. 覆为子 Iffi-yr扔S5EE&W-&秽屠伯 叉普觥为 建请二靑一清度S-l-8: 7M 1

13、1-B : 9最深刻的总结成一个公式:学了?学会了?会用了,有些东西自己利用所学的地只 是远远不 能用算法很好的表达出来,只能借助于书本,互联网查找资料,甚至以前 老师所给做的笔记 才能勉强完成有些不足还是.在开始的时候困难是很大的,于是乎我并没有急于开工,我先翻阅书本查找了有关知识点进行温习熟悉,然后翻阅有关笔记,上网查找资料之后我才开始编 写算法,实现目标这个过程中不免与同学进行交流合作这个铺桥的工作完成了面的路也就好修了参考文献:附录(1) C程序设计(第二版),谭浩强编,清华大学出版社,1999 年1月。(2) C语言程序设计题解与上机指导,谭浩强编,清华大学出版 社,2000年11月。(3) 数据结构C语言版,严蔚敏,吴伟民编着,清华大学出版社, 1997年4月。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 电气技术

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号