ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:1.15MB ,
资源ID:21822968      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21822968.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构实习报告文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构实习报告文档格式.docx

1、一、程序设计的基本思想,原理和算法描述:1.定义数据结构,Sqlist顺序结构,并定义该类型的指针变量*L2.初始化顺序表,并输入5个整数,通过选择菜单来打印输出3 线性结构的基本特征为:1集合中必存在唯一的一个“第一元素”;2集合中必存在唯一的一个 “最后元素” ;3除最后一个元素之外,均有 唯一的后继(后件);4除第一个元素之外,均有 唯一的前驱(前件)。由n(n0)个数据元素(结点)a1,a2,an组成的有限序列。数据元素的个数n定义为表的长度。二、源程序及注释(打包上传):三、运行输出结果:1、原始数据2、插入元素3、删除元素4、查找元素四、调试和运行程序过程中产生的问题及采取的措施:

2、实验一开始的程序编写出了一些问题,后来经过看书问同学再调试修改后就没有问题了,总体来说比较简单。五、对算法的程序的讨论、分析,改进设想,其它经验教训:算法还缺少健全性的考虑,只考虑到输入值合法的情况,不合法的还没考虑。这个很不周到。还有不能完全根据老书上的代码来编写,还是要根据实际情况来编写代码的。 实验二 栈和队列 1、基本原理:栈 Insert(L,n+1,x) Delete(L,n) 而栈只允许在表尾一端进行插入和删除队列 Delete(L,1)队列只允许在表尾一端进行插入,在表头一端进行删除2、程序结构:程序主要结构包括以下几个部分:定义结构体,建立新的线性链表,插入数据,查找数据,删

3、除数据和输出数据。3、数据结构:首先建立带表头结点的单链线性表,初始长度为100,每次递增10.每次要存储一个数据时就建立一个新的结点,然后把前一结点的指针指向下一结点的地址。1、程序界面和建立栈2、入栈3、出栈4、取出栈顶元素5、输出显示栈内元素算法结构问题:在传值和传址上存在很多问题,后来在老师帮助下解决了这个问题。一定要主要传值的对象不小心就搞错了。 总的来说,数据的算法理解起来是比较容易的,但通过算法表达并不容易。对我来说顺序表的链式结构更容易让我接受,因为它能够随即存储,不需要进行事先给与一定的空间。实验三 树和二叉树数据的结构是采用的二叉树链表结构,输入的是二叉树的顺序结构,输出的

4、是二叉树先序,中序,后序的树结构,以及输出树的结点数,树的叶子结点数。二叉树是由3个基本单元组成:根结点、左子树和右子树。程序包含了二叉树的建立,前序、中序和后序遍历的操作,求所有总结点及叶子节点总数的操作;交换左右子树、计算树的深度和节点赋值等。1、程序界面、建立二叉树、前序2、中序3、后序4总结点数5、总叶子数6、交换左右子树7、计算树的深度8、结点赋值调试的时候出错最多是参数之间的值址传递。因为对二叉树的结构还没彻底熟悉,再加上左右子树容易混淆,所以编写的时候有许多次出现了这样的错误。1、算法中大量用到递归的形式,要多做练习来巩固和提高对递归的认识。2、熟练掌握二叉树的结构特性,了解相应

5、的证明方法。熟悉二叉树的各种存储结构的特点及适用范围。不然在自己做的时候感觉有点模糊不清。实验四 图在图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关。中序遍历二叉树的方法是:遍历左子树-访问跟结点-遍历右子树。在二叉排序树上查找其关键字等于给定值的结点过程,恰是走过了一条根结点到该结点的路径的过程,和给定值比较的关键字个数等于路径长度加1,因此,与折半查找类似,与给定值比较的关键字个数不超过树的深度。1、程序界面2、有向图DG3、无向图UDG这个实验我觉得比较难。因为有些地方代码编写的有错误,所以有向网和无向网在运行的时候出现了一些问题,在同学的帮助下完成了任务。编

6、写程序时一定不能急,越急越会出现错误,而且自己还不一定知道错在哪了。当一个人不会做的时候,跟同学相互交流一下自己的体会,或许就会豁然开朗的。而且不能只看书上的代码来做,书上有它的适用范围。实验五 查找基本思想:查找是根据给定的某个值,在查找表中确定一个其关键字等于给定值的记录或数据元素。拆半查找的查找过程是:先确定待查记录所在的范围,然后逐步缩小范围直到找到或找不到该记录为止。拆半查找过程是一处于区间中间位置记录的关键字和给定值比较,若相等,则查找成功,若不等,则缩小范围,直至新的区间中间位置记录的关键字等于给定值或者查找区间的大小小于零时为止。二叉排序树或者是一棵空树;或者是具有下列性质的二

7、叉树:(1)若它的左子树不空,则左子树上所以结点的值均小于它的根结点的值,(2)若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值(3)它的左右子树也分别为二叉排序树。1、程序界面和建立二叉排序树4、调试和运行程序过程中产生的问题及采取的措施: 一定要区分这几种算法,不能搞混淆。在编写程序时也有些问题,最后在同学的帮助下完成了编程。感觉现在越来越难了。感觉现在的编程好难,唉,多问同学多问老师,还有上课认真听讲吧。不然听不懂了,还有书上把不需要的知识删了吧!实验六 排序排序时计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。直接插入排

8、序是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。希尔排序又称“缩小增量排序”,它也是一种属插入排序类的方法,但在时间效率上较前述几种排序方法有较大的改进。快速排序的基本思想是,通过一趟排序将待排记录分割成独立的两个部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,达到整个序列有序。选择排序的基本思想是每一趟在n-i+1(i=1,2,n-1)个记录中选取关键字最小的记录作为有序序列中第i个序列中第i个记录。堆排序是只需要一个记录大小的辅助空间,每个待排序的记录仅占有一个存储空间。1、程序界

9、面和建立线性表2、插入排序3、冒泡排序4、快速排序5、选择排序6、堆排序 插入排序、冒泡排序、快速排序、选择排序、堆排序其中有许多相同的地方,但也有许多不同的地方,所以在编写代码时容易混淆。而在编写的时候经常把这几种排序给弄反了导致最终的结果不正确,后来发现了问题又一步步的给重新调了过来。由于待排序的记录数量不同,使得排序过程中涉及的存储器不同,可将排序方法分为两大类:一类是内部排序,指的是待排序记录存放在计算机随机存储器中进行的排序过程,另一类是外部排序,指的是待排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。 内部排序根据不同的原则对内部排序进行分类,可大致分为插入排序。交换排序、选择排序、归并排序和计数排序等五类。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1