第一篇:数据结构实验报告填写要求(2012网工1、2班)
数据结构实验报告填写要求
2013/2014学年第一学期
学号:以成绩记载簿上的学号为准。
指导老师:王正山
实验名称:实验一 线性表操作及应用实验二栈的操作及应用实验三队列的操作及应用;实验四二叉树的操作及应用;实验五图的操作及应用;实验六查找和排序算法实现。课程名称:数据结构实验
实验时间:根据教学进度表中的时间确定,以真实时间为准。
实验地点:X401或X405(以真实地点为准)
实验目的:
实验一:(1)掌握线性表的插入和删除操作在顺序存储结构上的实现;(2)掌握线性表的建立、插入、删除、打印和查找操作在链式存储结构上的实现。
实验二:(1)掌握栈的入栈和出栈操作在顺序存储结构上的实现;(2)掌握栈的入栈和出栈操作在链式存储结构上的实现。
实验三:(1)掌握队列的入队列和出队列操作在顺序存储结构上的实现;(2)掌握队列的入队列和出队列操作在链式存储结构上的实现。
实验四:(1)掌握二叉树的前序遍历、中序遍历、后序遍历和建立二叉树的算法在链式存储结构上实现;掌握利用遍历二叉树的递归思想实现建立二叉树、复制二叉树、交换二叉树和求二叉树中叶子结点数目等算法。
实验五:(1)掌握建立无向图(有向图)的邻接矩阵和邻接表算法;(2)掌握无向图的深度优先遍历和广度优先遍历算法;最小生成树算法和拓扑排序算法。
实验六:(1)掌握建立二叉排序树和在二叉排序树上查找指定结点的算法在链式存储结构上的实现;
(2)掌握快速排序在顺序存储结构上的实现。
实验分析与实验心得:根据自己实际情况填写(必填)。
问题和建议:根据自己实际情况填写(必填)。
实验环境:Windows XP,VC++ 6.0
第二篇:数据结构实验报告1(范文模版)
南京信息工程大学实验(实习)报告
实验(实习)名称数据结构实验(实习)日期 2010-10-26得分指导教师周素萍
系信息管理与信息系统专业年级班次姓名学号
实验一顺序表的基本操作及C语言实现
【实验目的】
顺序表的基本操作及 C 语言实现
【实验要求】
1、用 C 语言建立自己的线性表结构的程序库,实现顺序表的基本操作。
2、对线性表表示的集合,集合数据由用户从键盘输入(数据类型为整型),建立相应的顺序表,且使得数据按从小到大的顺序存放,将两个集合的并的结果存储在一个新的线性表集合中,并输出。
3、撰写实验报告并附上集合操作的程序和结果。(实验报告格式等会儿上传)
【实验内容】
1、根据教材定义的顺序表结构,用 C 语言实现顺序表结构的创建、插入、删除、查找等操作;
2、利用上述顺序表操作实现如下程序:建立两个顺序表表示的集合(集合中无重复的元素),并求这样的两个集合的并。
【实验结果】
#include
#include
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
#define ERROR 0
#define OVERFLOW-1
typedef struct{
int *elem;int length;int listsize;
}SqList;
void InitList_Sq(SqList &L)
{
//构造一个空的线性表 L.elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int));if(!L.elem)exit(OVERFLOW);L.length=0;L.listsize=LIST_INIT_SIZE;
}//InitList_Sq
void ListInsert_Sq(SqList &L,int i,int e)
{
//在顺序表L中的第i个位置之前插入新的元素e int *newbase,*p,*q;if(i<1||i>L.length+1){} q=&(L.elem[i-1]);for(p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p;*q=e;2 exit(ERROR);if(L.length>=L.listsize)newbase=(int*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(int));if(!newbase)exit(OVERFLOW);L.elem=newbase;L.listsize+=LISTINCREMENT;
++L.length;
}//ListInsert_Sq
void ListDelete_Sq(SqList &L,int i)
{
//在顺序线性表L中删除第i个元素 int *p,*q;exit(ERROR);if((i<1)||(i>L.length))p=&(L.elem[i-1]);q=L.elem+L.length-1;for(++p;p<=q;++p)*(p-1)=*p;--L.length;
}//ListDelete_Sq
void MergeList_Sq(SqList La,SqList Lb,SqList &Lc){
//已知线性表La和Lb中的数据元素按值非递减排列。//归并La和Lb得到新的线性表Lc,Lc的数据元素也按值非递减排列。int *pa,*pb,*pc,*pa_last,*pb_last,i;pa=La.elem;pb=Lb.elem;Lc.listsize=Lc.length=La.length+Lb.length;pc=Lc.elem=(int *)malloc(Lc.listsize*sizeof(int));if(!Lc.elem)exit(OVERFLOW);pa_last=La.elem+La.length-1;pb_last=Lb.elem+Lb.length-1;while(pa<=pa_last&&pb<=pb_last){} while(pa<=pa_last)*pc++=*pa++;while(pb<=pb_last)*pc++=*pb++;for(i=0;i } for(i=0;i }//MergeList_Sq int LocateElem_Sq(SqList L,int e,int(*compare)(int)){ } void sort(SqList a,int n) { } int main()//在顺序线性表L中查找第1个值与e满足compare()的元素位序 int i=1,*p;p=L.elem;while(i<=L.length&&!(*p==e))++i;return i;return 0;if(i<=L.length)else int i,j,t;for(i=0;i SqList a,b,c; int i=0,n1,n2;InitList_Sq(a);InitList_Sq(b);printf(“请输入第一个顺序表的整数数据(以0000为结束标志,100个数据以while(scanf(”%d“,&a.elem[i])&&(a.elem[i]!=0000)&&(++i));a.length=i;n1=i;printf(”请输入第二个顺序表的整数数据(以0000为结束标志,100个数据以i=0;while(scanf(“%d”,&b.elem[i])&&(b.elem[i]!=0000)&&(++i));b.length=i;n2=i;sort(a,n1);printf(“顺序表1排序后为:”);for(i=0;i }} i--;printf(“顺序表1去除重复数据排序后为:”);for(i=0;i printf(“%d ”,a.elem[i]); printf(“n”); printf(“顺序表2去除重复数据排序后为: for(i=0;i printf(”%d “,b.elem[i]); printf(”n“); printf(”合并后从小到大为:“); MergeList_Sq(a,b,c); printf(”n“); return 0; }”); 实验二电视画面的取景与构图(2学时) 一、实验目的1、了解电视画面构图的元素。 2、掌握电视画面构图的基本方式。 二、实验设备和仪器 专业数字摄像机、电池、三角架 三、实验内容及要求 1、实验内容 (1)基本构图法。 (2)静态构图法。 (3)动态构图法。 (4)不规则构图法。 2、实验要求:本次实验分组进行;每组成员4-6人。 四、实验原理及步骤 1、实验原理 构图是摄像人员拍摄电视画面的一个主要环节,是摄像师将现实形象转变为屏幕形象时采用的画面结构形式。摄像构图就是摄像师为表现某一特定的内容和视觉美感效果,将镜头前被摄对象以及摄像的各种造型元素有机地组织安排在画面中,以形成一定画面形式的创作活动。作为实验课,应该注意组织镜头元素和镜头的使用进行画面的拍摄。 2、步骤 (1)准备好摄像机、三脚架、SD卡、电池、白纸等。 (2)在三脚架上安装摄像机,开机,调节白平衡。 (3)静态构图拍摄。 (4)动态构图拍摄。 (5)不规则构图拍摄。 (6)回放拍摄画面(在电视或监视器上看)。 (7)关机,取出SD卡。 五、使用注意事项 1、构图训练是摄像的基本功,也是学习摄影之后对画面构图的新的认识。 2、在构图拍摄时,可以结合短片或模仿的办法进行实验。 3、在实验拍摄的时候,特别要掌握好如何使用摄像机镜头,如光圈、聚焦、变焦的运用。 4、如实验机时不够,学生可与实验室联系,利用开放机时完成实验。 六、实验结果分析及实验报告要求: 1、实验结果分析要求 (1)通过实验,得出镜头构图与动态构图的区别。 (2)构图的主要有哪些形式。 (3)记录在实验过程中,根据实验结果得出的其他结论与分析。 2.实验报告要求 请根据实验的结果和实验指导书的要求,如实地撰写实验报告。其中,“实验记录”填写实验的步骤和过程,“问题与讨论”根据个人实验情况如实记录所发现的问题。 注意:实验结束后提交一份实验报告电子文档 电子文档命名为“学号+姓名”,如:E01214058宋思怡 《数据结构》实验报告 (一)学号:姓名:专业年级: 实验名称:线性表 实验日期:2014年4月14日 实验目的: 1、熟悉线性表的定义及其顺序和链式存储结构; 2、熟练掌握线性表在顺序存储结构上实现基本操作的方法; 3、熟练掌握在各种链表结构中实现线性表基本操作的方法; 4、掌握用 C/C++语言调试程序的基本方法。 实验内容: 一、编写程序实现顺序表的各种基本运算,并在此基础上设计一个主程序完成如下功能: (1)初始化顺序表L; (2)依次在L尾部插入元素-1,21,13,24,8; (3)输出顺序表L; (4)输出顺序表L长度; (5)判断顺序表L是否为空; (6)输出顺序表L的第3个元素; (7)输出元素24的位置; (8)在L的第4个元素前插入元素0; (9)输出顺序表L; (10)删除L的第5个元素; (11)输出顺序表L。 源代码 调试分析(给出运行结果界面) 二、编写程序实现单链表的各种基本运算,并在此基础上设计一个主程序完成如下功能: „„„„ „„„„ 小结或讨论: (1)实验中遇到的问题和解决方法 (2)实验中没有解决的问题 (3)体会和提高 南京信息工程大学实验(实习)报告 实验(实习)名称数据结构实验(实习)日期 2011-11-2得分指导教师周素萍 系公共管理系专业信息管理与信息系统年级10级班次1姓名常玲学号2010230700 3实验一顺序表的基本操作及C语言实现 【实验目的】 1、顺序表的基本操作及 C 语言实现 【实验要求】 1、用 C 语言建立自己的线性表结构的程序库,实现顺序表的基本操作。 2、对线性表表示的集合,集合数据由用户从键盘输入(数据类型为整型),建立相应的顺序表,且使得数据按从小到大的顺序存放,将两个集合的并的结果存储在一个新的线性表集合中,并输出。 【实验内容】 1、根据教材定义的顺序表机构,用 C 语言实现顺序表结构的创建、插入、删除、查找等操作; 2、利用上述顺序表操作实现如下程序:建立两个顺序表表示的集合(集合中无重 复的元素),并求这样的两个集合的并。 【实验结果】 [实验数据、结果、遇到的问题及解决] 一. Status InsertOrderList(SqList &va,ElemType x) { } 二. Status DeleteK(SqList &a,int i,int k) {//在非递减的顺序表va中插入元素x并使其仍成为顺序表的算法 int i;if(va.length==va.listsize)return(OVERFLOW);for(i=va.length;i>0,x } //注意i的编号从0开始 int j;if(i<0||i>a.length-1||k<0||k>a.length-i)return INFEASIBLE;for(j=0;j<=k;j++)a.elem[j+i]=a.elem[j+i+k];a.length=a.length-k;return OK; 三.// 将合并逆置后的结果放在C表中,并删除B表 Status ListMergeOppose_L(LinkList &A,LinkList &B,LinkList &C) { LinkList pa,pb,qa,qb;pa=A;pb=B;qa=pa;qb=pb;// 保存pa的前驱指针 // 保存pb的前驱指针 pa=pa->next;pb=pb->next;A->next=NULL;C=A;while(pa&&pb){} while(pa){} qa=pa;pa=pa->next;qa->next=A->next;A->next=qa;if(pa->data data){} else{} qb=pb;pb=pb->next;qb->next=A->next;//将当前最小结点插入A表表头 A->next=qb;qa=pa;pa=pa->next;qa->next=A->next;//将当前最小结点插入A表表头 A->next=qa; } } pb=B;free(pb);return OK;qb=pb;pb=pb->next;qb->next=A->next;A->next=qb; 顺序表就是把线性表的元素存储在数组中,元素之间的关系直接通过相邻元素的位置来表达。 优点:简单,数据元素的提取速度快; 缺点:(1)静态存储,无法预知问题规模的大小,可能空间不足,或浪费存储空间;(2)插入元素和删除元素时间复杂度高——O(n) 求两个集合的并集 该算法是求两个集合s1和s2的并集,并将结果存入s引用参数所表示的集合中带回。首先把s1集合复制到s中,然后把s2中的每个元素依次插入到集合s中,当然重复的元素不应该被插入,最后在s中就得到了s1和s2的并集,也就是在s所对应的实际参数集合中得到并集。第三篇:实验报告填写要求
第四篇:数据结构实验报告
第五篇:数据结构实验报告