2023年算法与数据结构实验册电子版数据与算法结构实验报告(5篇).docx
-
资源ID:94850354
资源大小:17.67KB
全文页数:14页
- 资源格式: DOCX
下载积分:15金币
快捷下载

会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2023年算法与数据结构实验册电子版数据与算法结构实验报告(5篇).docx
2023年算法与数据结构实验册电子版数据与算法结构实验报告(5篇) 金陵科技学院试验报告 loc=i;for(i=;i=loc;i-)i+1=i;loc=x;+; void delete_x(int x) int i,j,found=0;for(i=0;i=;i+)if(x=i) found=1;for(j=i+1;j=;j+)j-1=j;i-;-; if(found=0)printf(“x is not foundn”);else printf(“x is deletedn”);printf(“the list after deletion is:n”);print_list(); 金陵科技学院试验报告 void main() int x,choice;while(1) printf(“*menu*n”);printf(“ 1-printn”);printf(“ 2-searchn”);printf(“ 3-insertn”);printf(“ 4-deleten”);printf(“ 5-exitn”);printf(“please input your choice:”);scanf(“%d”,choice); switch(choice)case 1: printf(“the original list is:n”);print_list();break;case 2: printf(“pls input x you want to search:n”); 金陵科技学院试验报告 scanf(“%d”,x);find_all_x(x);break;case 3: printf(“pls input x you want to insert:n”);scanf(“%d”,x);insert_x(x);printf(“the list after insertion is:n”);print_list();break;case 4: printf(“pls input x you want to delete:n”);scanf(“%d”,x);delete_x(x);printf(“the list after deletion is:n”);print_list();break;case 5: exit(0); 金陵科技学院试验报告 金陵科技学院试验报告 四、试验结果与分析(程序运行结果及其分析) 五、试验体会(遇到问题及解决方法,编程后的心得体会) 金陵科技学院试验报告 试验工程名称: 单链表 试验学时: 2 同组学生姓名: 试验地点: 试验日期: 试验成绩: 批改教师: 批改时间: 金陵科技学院试验报告 试验2 单链表 一、试验目的和要求 1、试验目的 把握单链表的定位、插入、删除等操作。 2、试验要求 (1)留意链表的空间是动态安排的,某结点不用之后要准时进展物理删除,以便释放其内存空间。 (2)链表不能实现直接定位,肯定留意指针的保存,防止丧失。 二、试验仪器和设备 turbo c 2.0/ visual c+ 三、试验内容与过程(含程序清单及流程图) 1、必做题 (1)编写程序建立一个单链表,并逐个输出单链表中全部数据元素。(2)在递增有序的单链表中插入一个新结点x,保持单链表的有序性。 解题思路:首先查找插入的位置然后进展插入操作;从第一个结点开头找到第一个大于该新结点值的结点即为插入位置;然后在找到的此结点之前插入新结点;留意保存插入位置之前结点的指针才能完成插入操作。 (3)编写实现带头结点单链表就地逆置的子函数,并编写主函数测试结果。 2、选做题 已知指针la和lb分别指向两个无头结点单链表的首元结点。要求编一算法实现,从表la中删除自第i个元素起共len个元素后,将它们插入到表lb中第j个元素之前。程序清单: 金陵科技学院试验报告 金陵科技学院试验报告 四、试验结果与分析(程序运行结果及其分析) 五、试验体会(遇到问题及解决方法,编程后的心得体会) 金陵科技学院试验报告 试验工程名称: 堆栈和队列 试验学时: 2 同组学生姓名: 试验地点: 试验日期: 试验成绩: 批改教师: 批改时间: 金陵科技学院试验报告 试验3 堆栈和队列 一、试验目的和要求 (1)把握应用栈解决问题的方法。(2)把握利用栈进展表达式求和的算法。 (3)把握队列的存储构造及根本操作实现,并能在相应的应用问题中正确选用它们。 二、试验仪器和设备 turbo c 2.0/ visual c+ 三、试验内容与过程(含程序清单及流程图) 1、必做题 (1)推断一个算术表达式中开括号和闭括号是否配对。(2)测试“汉诺塔”问题。 (3)假设称正读和反读都一样的字符序列为”回文”,试写一个算法判别读入的一个以为完毕符的字符序列是否是“回文”。 2、选做题 在挨次存储构造上实现输出受限的双端循环队列的入列和出列算法。设每个元素表示一个待处理的作业,元素值表示作业的估计时间。入队列实行简化的短作业优先原则,若一个新提交的作业的估计执行时间小于队头和队尾作业的平均时间,则插入在队头,否则插入在队尾。程序清单: 金陵科技学院试验报告 四、试验结果与分析(程序运行结果及其分析) 金陵科技学院试验报告 五、试验体会(遇到问题及解决方法,编程后的心得体会) 金陵科技学院试验报告 试验工程名称: 串 试验学时: 2 同组学生姓名: 试验地点: 试验日期: 试验成绩: 批改教师: 批改时间: 金陵科技学院试验报告 试验4 串 一、试验目的和要求 把握串的存储及应用。 二、试验仪器和设备 turbo c 2.0/ visual c+ 三、试验内容与过程(含程序清单及流程图) 1、必做题 (1)编写输出字符串s中值等于字符ch的第一个字符的函数,并用主函数测试结果。 (2)编写输出字符串s中值等于字符ch的全部字符的函数,并用主函数测试结果。 解题思路:可以将第一题程序改良成一个子函数,在此题中循环调用。(3)设字符串采纳单字符的链式存储构造,编程删除串s从位置i开头长度为k的子串。 2、选做题 假设以链构造表示串,编写算法实现将串s插入到串t中某个字符之后,若串t中不存在这个字符,则将串s联接在串t的末尾。 提示:为提高程序的通用性,插入位置字符应设计为从键盘输入。程序清单: 金陵科技学院试验报告 四、试验结果与分析(程序运行结果及其分析) 金陵科技学院试验报告 五、试验体会(遇到问题及解决方法,编程后的心得体会) 金陵科技学院试验报告 试验工程名称: 二叉树 试验学时: 2 同组学生姓名: 试验地点: 试验日期: 试验成绩: 批改教师: 批改时间: 金陵科技学院试验报告 试验5 二叉树 一、试验目的和要求 (1)把握二叉树的生成,以及前、中、后序遍历算法。(2)把握应用二叉树递归遍历思想解决问题的方法。 二、试验仪器和设备 turbo c 2.0/ visual c+ 三、试验内容与过程(含程序清单及流程图) 1、必做题 (1)建立一棵二叉树。对此树进展前序遍历、中序遍历及后序遍历,输出遍历序列。 (2)在第一题根底上,求二叉树中叶结点的个数。(3)在第一题根底上,求二叉树中结点总数。(4)在第一题根底上,求二叉树的深度。 2、选做题 已知一棵完全二叉树存于挨次表sa中,1存储结点的值。试编写算法由此挨次存储构造建立该二叉树的二叉链表。 解题思路:依据完全二叉树挨次存储的性质来确定二叉树的父子关系即“复原”了二叉树,之后再根据二叉树二叉链表的构造方法进展建立。完全二叉树挨次存储的一个重要性质为,第i个结点的左孩子是编号为2i的结点,第i个结点的右孩子是编号为2i+1的结点。程序清单: 金陵科技学院试验报告 四、试验结果与分析(程序运行结果及其分析) 金陵科技学院试验报告 五、试验体会(遇到问题及解决方法,编程后的心得体会) 金陵科技学院试验报告 试验工程名称: 图 试验学时: 2 同组学生姓名: 试验地点: 试验日期: 试验成绩: 批改教师: 批改时间: 金陵科技学院试验报告 试验6 图 一、试验目的和要求 (1)娴熟把握图的根本概念、构造及其存储构造。 (2)娴熟把握对图的深度优先搜寻遍历和广度优先搜寻遍历的算法。 二、试验仪器和设备 turbo c 2.0/ visual c+ 三、试验内容与过程(含程序清单及流程图) 1、必做题 (1)构造一个无向图(用邻接矩阵表示存储构造)。 (2)对上面所构造的无向图,进展深度优先遍历和广度优先遍历,输出遍历序列。 2、选做题 采纳邻接表存储构造,编写一个判别无向图中任意给定的两个顶点之间是否存在一条长度为k的简洁路径的算法。简洁路径是指其顶点序列中不含有重复顶点的路径。提示:两个顶点及k值均作为参数给出。程序清单: 金陵科技学院试验报告 四、试验结果与分析(程序运行结果及其分析) 五、试验体会(遇到问题及解决方法,编程后的心得体会) 金陵科技学院试验报告 试验工程名称: 排序 试验学时: 2 同组学生姓名: 试验地点: 试验日期: 试验成绩: 批改教师: 批改时间: 金陵科技学院试验报告 试验7 排序 一、试验目的和要求 (1)娴熟把握希尔排序、堆排序、直接插入排序、起泡排序、快速排序、直接选择排序、归并排序和基数排序的根本概念。 (2)把握以上各种排序的算法。区分以上不同排序的优、缺点。 二、试验仪器和设备 turbo c 2.0/ visual c+ 三、试验内容与过程(含程序清单及流程图) 1、必做题 用随机数产生100000个待排序数据元素的关键字值。测试以下各排序函数的机器实际执行时间(至少测试两个):直接插入排序、希尔排序(增量为4,2,1)、冒泡排序、快速排序、直接选择排序、堆排序。 2、选做题 假设含n个记录的序列中,其全部关键字为值介于v和w之间的整数,且其中许多关键字的值是一样的。则可按如下方法排序:另设数组numbervw,令numberi统计关键字为整数i的纪录个数,然后按number重排序列以到达有序。试编写算法实现上述排序方法,并争论此种方法的优缺点。程序清单: 金陵科技学院试验报告 四、试验结果与分析(程序运行结果及其分析) 金陵科技学院试验报告 五、试验体会(遇到问题及解决方法,编程后的心得体会) 金陵科技学院试验报告 试验工程名称: 查找 试验学时: 2 同组学生姓名: 试验地点: 试验日期: 试验成绩: 批改教师: 批改时间: 金陵科技学院试验报告 试验8 查找 一、试验目的和要求 (1)把握挨次表查找、有序表查找、索引挨次表查找的各种算法。(2)把握哈希表设计。 二、试验仪器和设备 turbo c 2.0/ visual c+ 三、试验内容与过程(含程序清单及流程图) 1、必做题 (1)在一个递增有序的线性表中利用二分查找法查找数据元素x。 2、选做题 (2)构造一个哈希表,哈希函数采纳除留余数法,哈希冲突解决方法采纳链地址法。设计一个测试程序进展测试。 提示:构造哈希表只是完成查找的第一步,大家应当把握在哈希表上进展查找的过程,可以试着编程序实现。程序清单: 金陵科技学院试验报告 四、试验结果与分析(程序运行结果及其分析) 五、试验体会(遇到问题及解决方法,编程后的心得体会) multi_set mult_set: operator+(multi_set const a,multi_set const b); multi_set mult_set: operator-(multi_set const a,multi_set const b); multi_set:operator-(multi_set const a,t const v);</t 九、可讨论与探究的问题:哈希函数的选取。比拟哈希与平衡排序二叉树的优缺点、性能和速度。 十、验收及试验报告要求:现场操作及运行效果验收。要求程序必需上机编译通过并且正确运行。给出试验报告。给出平衡排序二叉树实现的多重集合和用哈希实现的多重集合的性能比拟。 试验 八、图论 一、试验类别:设计型试验。 二、问题描述:实现图论中的各种算法。 1)最小代价生成树的krscal 算法和prim算法。2)单源点的最短路径的dijstra 算法。3)深度优先遍历与广度优先遍历。4)拓扑排序 5)求全部节点之间的最短路径floyd算法 (在这五个小题中只要选作一个即可。) 三、试验目的:学习依据不同的运算来选取不同的存储构造。 四、试验学时:2小时 五、试验组人数:3人。 六、试验设备环境:计算机。 七、试验原理及要点(学问点):图论中的各种算法及其简单度。依据不同的操作来打算图的存储构造。 八、试验内容和要求:至少实现上面五个小题目中的一个。从文件中读入一个图的信息。 九、可讨论与探究的问题:高级数据构造如堆、并查集在图论算法中的应用。 十、验收及试验报告要求:现场操作及运行效果验收。要求程序必需上机编译通过并且正确运行。给出试验报告。给出在匀称的随机分布下,平衡排序二叉树与一般排序二叉树的性能比拟。 试验 九、内部排序性能的比拟 一、试验类别:设计型试验。 二、问题描述:随机生成一组整数p0,p1,pn。对这组数据进展排序。 三、试验目的:比拟不同排序算法的性能。 四、试验学时:2小时 五、试验组人数:3人。 六、试验设备环境:计算机。 七、试验原理及要点(学问点):各种内部排序算法。 八、试验内容和要求: 1)实现插入排序,选择排序,希尔排序,堆排序以及快速排序。2)快速排序的多种版本。3)对单链表实现归并排序。4)基数排序。 5)对小型问题(n = 10)、中型问题(n = 1000)以及大型问题(n = 1百万)分别统计不同排序算法的键值比拟次数、键值移动次数以及程序运行时间。 26)排序算法的时间简单度可以有o(n)和 o(n log n)。对一样简单度的算法,给出他们运行时间与时间简单度的比值。 九、可讨论与探究的问题:讨论快速排序算法的不同改良方法。自省排序算法。只需要移动而不需要交换的快速排序方法。 十、验收及试验报告要求:现场操作及运行效果验收。要求程序必需上机编译通过并且正确运行。给出试验报告。给出在匀称的随机分布下,对大中小问题的最快的排序算法。 教材及主要