1 / 3
文档名称:

数据结构与算法分析》实验报告.doc

格式:doc   大小:64KB   页数:3
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构与算法分析》实验报告.doc

上传人:bai1968104 2020/8/30 文件大小:64 KB

下载得到文件列表

数据结构与算法分析》实验报告.doc

文档介绍

文档介绍:《数据结构与算法分析》实验报告姓名学号________年__月____日上机题目:以静态链表为存储结构,编写给定权值{7,19,2,6,32,3}构造哈夫曼树的算法。(输出以存储结构表示或以树型显示(90度旋转))需求分析输入数据必须为int的整形数据,其数值范围为:-~输出的数据格式为:%d测试数据的数据为:{7,19,2,6,32,3}详细设计该程序采用顺序表的存储结构,其数据结构定义如下:#definen6#definem2*n-1#definemax100typedefstruct{intdata;intlchild,rchild,prnt;}hufmtree;所用数据类型中每个操作的伪码算法如下:创建哈夫曼树Programhufm(hufmtreet[m])FORi=0;i<m;i++TO t[i].data=0; t[i].lchild=0; t[i].rchild=0; t[i].prnt=0;EndFOR输入结点值FORi=n;i<m;i++TOp1=0;p2=0;small1=max;small2=max FORj=0;j<=i-1;j++TO IFt[j].prnt?=0 IF(t[j].data<small1)small2=small1;small1=t[j].data; p2=p1; p1=j;} ELSEIF(t[j].data<small2) small2=t[j].data; p2=j; t[p1].prnt=i+1; t[p2].prnt=i+1; t[i].lchild=p1+1; t[i].rchild=p2+1; t[i].data=t[p1].data+t[p2].data;ENDIFENDFORENDHufman调试分析调试过程中主要遇到哪些问题?是如何解决的?开始的时候main函数的数据结构类型定义的与主函数不同,而且缺少返回值,导致最后的结果陷入死循环,通过看书,向同学询问,得以解决。经验和体会哈夫曼树又称最优二叉树,此次实验创建哈夫曼树算法,虽然依旧犯了不少错误,但仍解决了。在其中学习了很多,对树有了更深的了解。