首页 > 编程知识 正文

数据结构二叉树实验报告心得体会(c语言数据结构二叉树实验报告,数据结构实验报告 答案)

时间:2023-05-05 22:41:02 阅读:121546 作者:2259

《数据结构实验报告 答案》可供会员共享,在线阅读。 更多相关《数据结构实验报告 答案(11页珍藏版)》请在人人文库网搜索。

1、数据结构(C语言版)实验报告专业班学号姓名实验1实验主题)单链表插入和删除实验目的)了解和掌握线性表的逻辑结构和链记忆结构,掌握单链表的基本算法及相关时间性能分析。 实验要求:创建数据域定义为字符串的单链表,链表中不允许重复的字符串; 根据输入的字符串,找到相应的节点后再删除。 实验的主要步骤: 1、分析和理解给定的样例程序。 2、调试程序,设计输入数据(例如bat、cat、eat、fat、hat、jat、lat、mat、# )。 测试程序的功能如下。 不允许插入重复字符串; 根据输入的字符串找到并删除相应的节点。 3、添加修改程序()1)插入节点的功能。

2,)2)将制作链表的方法改为头插入法。 程序代码: #包含#包含#包含#包含# include . typedef struct node图像: headbatcatfateatlatmatjathatnullheadbaeacalamajafanulhatheadbateatcatmatlatfatnullput心得这就意识到编写实验中不可思议的直接实验指导书中的代码存在一些问题,翻译执行必须阅读并完全理解代码的基础。

3、上来再做,这就是实验的意义。 实验二实验主题:二叉树操作设计与实验目的实现:掌握二叉树的定义、性质及存储方式、各种扫描算法。 实验要求:采用二叉树链表作为存储结构,完成二叉树的构造、先序、中序、后序、分层遍历操作,求所有叶和节点总数。 实验的主要步骤: 1、分析,了解程序。 2、调试器设计一个二叉树,输入完全二叉树的前序序列,用#表示虚拟节点(空指针),如ABD#CE#F#制作二叉树,求出先序、中序、后序及分层遍历序列,得到所有叶实验代码# include # include # include # definemax 20 abcfdeert。

4、ex=a; irstedge=NULL; irstedge; G-adjlisti.firstedge=s; irstedge; G-adjlistj.firstedge=s; ertex; irstedge; ertex; V0 V0 irstedge; ertex; ey=ey,Rj-=Ri;=快速排序=voidquicksort(seqlistr,int low,int high ) high快速排序int pivotpos; high分隔一次,基准记录的位置quicksort(r、low、pivotpos-1 ); ey0; i-) heapify(r,I,n )。

5、); 也可以将n调整为萝卜山n并堆积排序,将R0作为临时保存单元int i; 构建帮助(r; n是初期的萝卜山for(I=n; i1; i-)将I堆积进行n-1次。 R0=R1; R1=Ri; Ri=R0; i-1重新调整为堆,只有R1可能违反堆的性质。 m和Rm 1.high为规则序列rlow.high=voidmerge(seqlistr,int low,int m,int high ) int i=low,j=m 1,p=0; ey=Rj.key? Ri :Rj; wile(I=m ) high n做合并排序=语音(=voidmergepass ) seqlistr。

6,intlength(intI; for(I=1; i 2*length-1=n; I=I2*length(merge(r,I,i length-1,i 2*length-1 ); n进行双路合并排序=voidmergesort(seqlistr ) int length; for (长度=1; lengthn; 长度*=2) ey ); ey; //主函数=void main () int i; SeqList R; input_int(r; printf(*select*n ); printf(1:insertsortn; 打印(2: bubble sort )。

七、n; printf (:快速排序n; printf (4: straightselectionsortn; printf(5:HEAPsortn; printf(6:mergesortn; printf(73360exitn; printf(*n; 扫描(% d,I ); 输入/整数1-7,选择排序方法switch(I ) case 1: InsertSort(R ) r; 布雷克; /值为1,直接插入排序case2:bubblesort(r ); 布雷克; /值为2、鼓泡法快速排序(r、1、n ); 布雷克; /。

8、值为3,快速排序case43360selectsort(r; 布雷克; /值为4,直线

接选择排序 case 5: HeapSort(R); break; /值为5,堆排序 case 6: MergeSort(R); break; /值为6,归并排序 case 7: exit(0); /值为7,结束程序 printf(Sort reult:); output_int(R); 实验结果: Please input num(int):10 Plase input 10 integer:265 301 751 129 937 863 742 694 76 438 * Select * 1: Ins。

9、ert Sort 2: Bubble Sort 3: Quick Sort 4: Straight Selection Sort 5: Heap Sort 6: Merge Sort 7: Exit * 1 129, 265, 301, 751, 937, 863, 742, 694, 76, 438, 129, 265, 301, 751, 863, 937, 742, 694, 76, 438, 129, 265, 301, 742, 751, 863, 937, 694, 76, 438, 129, 265, 301, 694, 742, 751, 863, 937, 76, 438, 。

10、76, 129, 265, 301, 694, 742, 751, 863, 937, 438, 76, 129, 265, 301, 438, 694, 742, 751, 863, 937, Sort reult: 76, 129, 265, 301, 438, 694, 742, 751, 863, 937, 2 76,265,301,751,129,937,863,742,694,438, 76,129,265,301,751,438,937,863,742,694, 76,129,265,301,438,751,694,937,863,742, 76,129,265,301,438,。

11、694,751,742,937,863, 76,129,265,301,438,694,742,751,863,937, Sort reult: 76, 129, 265, 301, 438, 694, 742, 751, 863, 937, 3 76,129,265,751,937,863,742,694,301,438, 76,129,265,751,937,863,742,694,301,438, 76,129,265,438,301,694,742,751,863,937, 76,129,265,301,438,694,742,751,863,937, 76,129,265,301,4。

12、38,694,742,751,863,937, 76,129,265,301,438,694,742,751,863,937, Sort reult: 76, 129, 265, 301, 438, 694, 742, 751, 863, 937, 4 76,301,751,129,937,863,742,694,265,438, 76,129,751,301,937,863,742,694,265,438, 76,129,265,301,937,863,742,694,751,438, 76,129,265,301,438,863,742,694,751,937, 76,129,265,30。

13、1,438,694,742,863,751,937, 76,129,265,301,438,694,742,751,863,937, Sort reult: 76, 129, 265, 301, 438, 694, 742, 751, 863, 937, 5 863,694,751,265,438,301,742,129, 76,937,751,694,742,265,438,301, 76,129,863,937, 742,694,301,265,438,129, 76,751,863,937, 694,438,301,265, 76,129,742,751,863,937, 438,265。

14、,301,129, 76,694,742,751,863,937, 301,265, 76,129,438,694,742,751,863,937, 265,129, 76,301,438,694,742,751,863,937, 129, 76,265,301,438,694,742,751,863,937, 76,129,265,301,438,694,742,751,863,937, Sort reult: 76, 129, 265, 301, 438, 694, 742, 751, 863, 937, 6 265,301,129,751,863,937,694,742, 76,438,。

15、 129,265,301,751,694,742,863,937, 76,438, 129,265,301,694,742,751,863,937, 76,438, 76,129,265,301,438,694,742,751,863,937, Sort reult: 76, 129, 265, 301, 438, 694, 742, 751, 863, 937, 7 Press any key to continue 运行速度比较: 直接排序 冒泡排序 直接插入 冒泡排序 快速排序 2),其中快速排序效率较高 O(n其它的效率差不多 时间复杂度堆排序 归并排序 时间复杂度 (nlogn) ,平均效率都很高 心得体会: 此次试验了解了各种排序的基本思想,在分析各种排序的程序代码,对程序进行调试执行等等过程中,锻炼了自己分析数据结构的能力。此次试验然我知道排序的多种方法,也让我知道要编写好一个程序,首先要掌握其基本的思想及算法。。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。