北京科技大学数据结构试验报告(附录含代码).docx
《北京科技大学数据结构试验报告(附录含代码).docx》由会员分享,可在线阅读,更多相关《北京科技大学数据结构试验报告(附录含代码).docx(15页珍藏版)》请在咨信网上搜索。
1、一、1)功能描述输入数据(设为整型)建立单链表,并求相邻两节点data值之和为最大的第一节点。2)详细设计遵循链表建立的基本思想,建立一个新的链表,H为表头,r为新节点,p为表尾节点指针,没存入一个新的数据则申请一个新的节点,知道没有数据输入,利用循环和打擂台法,比较和的大小,并输出。3)测试分析程序调试完成后,选取两组数据进行测试,都得出了正确结果(数据以0为结束符,若有相同和,则取第一组)结果截图4)心得体会通过做第一题,学习到链表的建立以及链表里指针的使用,并且复习了比较法里面的打擂台法。二、1)功能描述实现算术表达式求值程序(栈的运用),输入中缀表达式,可将其转换成后缀表达式2)详细设
2、计本题目的程序是根据课本上的程序改进之后得出的,课本上有完整的程序,但是有bug,按照课本上的程序,结果会出现“烫烫烫烫烫”,原因是对于优先级的比较没有处理好,因此加了两行代码,将优先级的比较处理好,即现在的程序。3)测试分析程序调试完成后,选取题目所给的式子进行测试,得出了正确后缀表达式结果结果截图4)心得体会通过做第二题,对于课本上的知识表示得出“实践出真知”的真理,即使书上的东西也不一定就是正确的,尤其是代码,最好是个人自己真正实践一下。三、1)功能描述实现链式队列运算程序(队列的运用)2)详细设计本题目是队列相关应用,队列和栈是相反的,队列是先进的先出,因此输入12345,先出的是1,
3、本着队列的这一特性,根据课本所学的队列的算法,设计了如下程序。3)测试分析程序调试完成后,选取12345进行测试,后缀加0,则一个字符出队,只输入0,则继续出队,输入,则打印剩余全部元素。结果截图4)心得体会通过做第三题,对于队列的特点有了更加深刻的认识,尤其区分队列与栈的不同点,需要特别注意。四、1)功能描述构造关于F的Huffman树;求出并打印D总各字符的Huffman编码。2)详细设计本题目是Huffman树的应用以及Huffman编码的应用,参照课本上关于Huffman树的建立以及Huffman编码的应用的实现,将所给数据依权值最小原则建立Huffman树,并实现Huffman编码。
4、3)测试分析程序调试完成后,给出数据abcdefgh,相应频率为12345678,运行代码得出结果如图。同时选取另一组数据测试也得出了正确结论 结果截图4)心得体会通过做第四题,对于Huffman树有了更加深刻的体会,同时练习也使得对课本知识进行实践,有助于更好的理解Huffman树的算法。五、1)功能描述设英文句子:“everyone round you can hear you when you speak.”(1) 依次读入句中各单词,构造一棵二叉排序树;(2) 按LDR遍历此二叉排序树。LDR: can everyone hear round speak when you(有序)2)详
5、细设计本题目是有关二叉树的建立和中序遍历的,二叉树作为数据存储一个很重要的结构,它的建立也是很重要的。本题目代码设计上采用课本上的对于二叉树建立的方法,将所给单词以二叉树形式建立并存储,然后中序遍历的到字典顺序。3)测试分析程序调试完成后,给出单词串everyone round you can hear you when you speak,运行代码得出中序遍历结果如图。结果截图4)心得体会通过做第五题,练习运用二叉树模型解决了一些实际问题如现实中字典的编排问题,在熟悉算法的基础上,同时得出结论,好的算法可以应用与实际生活生产,使之更为便捷。附录 程序代码实验一:#includestdio.h
6、#includemalloc.htypedef struct node int data; struct node *next;list,*List;List Creatlist() /建立链表函数List H,p,r; /H为表头,r为新节点,p为表尾节点指针H=(List)malloc(sizeof(list); /建立头节点r=H; p=(List)malloc(sizeof(list); /申请新节点while(scanf(%d,p)&p-data!=0) /输入数据,直到为零(结束标志)r-next=p; /新节点链入表尾r=p;p=(List)malloc(sizeof(list)
7、; r-next=NULL; /将尾节点的指针域置空return H; /返回已创建的头节点List Adjmax(List H) /比较相邻两数之和 /返回相邻两数之和最大的第一个数指针List p,r,q;int sum=0;p=H-next;if(H-next =NULL) /判断是否为空printf(Empty List!);q=(List)malloc(sizeof(list);q-data =0;while(p!=NULL) /比较相邻两数之和r=p-next ;if(p&r)if(r-data+p-datasum)q=p;sum=r-data +p-data ;/不断赋给sum新
8、的最大值else;p=p-next ;return q;int main()char ch;printf(/ 请输入整形数据,以空格隔开,0结束。/ n);printf(Ready? nY/N (enter y or Y to continue) n);while(scanf(%c,&ch)&(ch=Y|ch=y) List H,pmax;H=Creatlist(); pmax=Adjmax(H); printf(相邻两数之和最大的第一个数为:%dnContinue? Y/N ,pmax-data );free(H);scanf(%c,&ch);return 0;实验二:#include#in
9、clude#includetypedef struct node /栈节点类型char data; /存储一个栈元素struct node *next; /后继指针snode,*slink;int Emptystack(slink S) /检测栈空if(S=NULL) return(1);else return(0);char Pop(slink*top) /出栈char e;slink p;if(Emptystack(*top) return(-1); /栈空返回elsee=(*top)-data; /取栈顶元素p=*top; *top=(*top)-next; /重置栈顶指针free(p)
10、;return(e);void Push(slink*top,char e) /进栈slink p;p=(slink)malloc(sizeof(snode); /生成进栈p节点p-data=e; /存入元素ep-next=*top; /p节点作为新的栈顶链入*top=p;void Clearstack(slink*top) /置空栈slink p;while(*top!=NULL)p=(*top)-next;Pop(top); /依次弹出节点直到栈空*top=p;*top=NULL;char Getstop(slink S) /取栈顶if(S!=NULL)return(S-data);ret
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京科技大学 数据结构 试验报告 附录 代码
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【Fis****915】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【Fis****915】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。