太原理工大学数据结构实验报告.doc

上传人:Wo****W 文档编号:48475318 上传时间:2022-10-06 格式:DOC 页数:14 大小:18.50KB
返回 下载 相关 举报
太原理工大学数据结构实验报告.doc_第1页
第1页 / 共14页
太原理工大学数据结构实验报告.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《太原理工大学数据结构实验报告.doc》由会员分享,可在线阅读,更多相关《太原理工大学数据结构实验报告.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、(完整word版)太原理工大学数据结构实验报告要求仔细阅读并理解下列例题, 上机通过,并观察其结果,然后独立完成后面的实习题。二、实验内容和原理习题 问题描述 设顺序表A 中的数据元素递增有序,试写一程序,将使该表仍然有序。输入 顺序表的长度,初始化顺序表数据,插入数据_ 。输出 已建立顺序表,输出插入_ 后的顺序表。存储结构 采用顺序存储结构算法的基本思想_ 插入到顺序表的适当位置上,建立顺序表(用数组的形式实现) 。在表中从后往前查找要插入元素的位置,直到查找到第一个比 _ 小的数,并从表的最后一元素依次后移,把要插入元素插入搜查找位置。三、主要仪器设备使用的计算机惠普:硬件配置7 、软件

2、环境-TC四、操作方法与实验步骤习题程序 #include“stdio.h”#define MA_SIZE 100#define RIGHT 1#define ERROR 0typedef int ElemType;typedef structElemType elemMA_SIZE;int last;SeqList;void Initlist(SeqList _L)L-last=-1;void putseqList(SeqList _L,int n)int i;for(i=0;ielemi);L-last=L-last+n;int LenList(SeqList _L)int Len;Len

3、=L-last+1;return Len;int PositionList(SeqList _L,int _)int j;for(j=0;jlast;j+)if(_elemj)return j+1;return (L-last+1);int InsList(SeqList _L,int i,int e)int k;if(iL-last+2)printf(“the position is wrong”);return(ERROR);if(L-last=MA_SIZE-1)printf(“the list is full”);return(ERROR);for(k=L-last;k=i-1;k-)

4、L-elemk+1=L-elemk;L-elemi-1=e;L-last+;return(RIGHT);int OutputSeqList(SeqList _L)int i;for(i=0;ilast;i+)printf(“d,”,L-elemi);return(L-elemi);void mainint s,c;SeqList L;Initlist(L);printf(“please input the length: ”);scanf(“d”,s);printf(“please input the list: ”);putseqList(L,s);LenList(L);printf(“Pl

5、ease input an element to insert : ”);scanf(“d”,c);InsList(L,PositionList(L,c),c);OutputSeqList(L);printf(“n”);getch;五、实验数据记录和处理六、实验结果与分析p 此程序的优点是算法简单, 易于实现。但是由于采用的是顺序存储的形式, 导致算法的时间性能和空间性能不是很好, 而且本程序的的健壮性不是很好, 对空间不够的情况没有很人性化的提出解决方案。七、讨论、心得改进思想:#define LIST_INIT_SIZE 100typedef struct int _elem;int le

6、ngth;int listsize;sqlist;void creat_sqlist(sqlist _p)int i,l;p-elem=(int_)malloc(LIST_INIT_SIZE_sizeof(int);if(!p-elem)printf(“OVERFLOW”);e_it(1);printf(“Please input length:n”);scanf(“d”,l);p-length=l;p-listsize=LIST_INIT_SIZE;printf(“Input sqlist:n”);for(i=0;ilength;i+)scanf(“d”,p-elemi);for(i=0;i

7、length;i+)printf(“d ”,p-elemi);printf(“n”);这是对顺序表构造的部分改进,同时可以将数据的存储改成链表的形式。心得体会:通过本次试验让我对顺序表有了更深层次的了解, 同时也对顺序表和链表的区别有了自己的见解。树形结构一、实验目的和要求熟悉树的各种表示方法和各种遍历方式, 掌握有关算法的实现, 了解树在计算机科学及其它工程技术中的应用。二、实验内容和原理习题问题描述编写递归算法,计算二叉树中叶子结点的数目。输入 一棵二叉树的结点若无子树,则可将其子树看作“入该结点的内容。对下图,其输入序列为ABD .EH.”,输入时, 按照前序序列的顺序输CF.I. G. 。ABCDEFGHI输出 二叉树中叶子结点的个数存储结构 采用二叉链表存储。算法的基本思想求二叉树中叶子结点个数,可以将此问题转化为遍历问题,则将计数器累加。即求二叉树的所有结点中左、右子树均为空的结点个数之和。在遍历中 “访问一个结点”时判断该结点是不是叶子,若是三、主要仪器设备使用的计算机惠普:硬件配置7 、软件环境-TC四、操作方法与实验步骤习题程序 #includestruct BiTreechar data;struct第 14 页 共 14 页

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

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁