- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                
二叉树实验报告总结
  实验报告  课程名称算法与数据结构  专业  学号  姓名实验日期  算法与数据结构实验报告  一、实验目的  1.了解二叉树的结构特点及有关概念,掌握二叉树建立的基本算法  2.了解二叉树遍历的概念,掌握遍历二叉的算法  3.进一步掌握树的结构及非线性特点,递归特点和动态性。  二、实验内容  二叉树的实现和运算  三、实验要求  1.用C++/C完成算法设计和程序设计并上机调试通过。  2.撰写实验报告,提供实验结果和数据。  3.分析算法,并简要给出算法设计小结和心得。  四、算法步骤  用户以三元组形式输入二叉树的结点元素及其位置关系,建立二叉树,并打印输出该二叉树。  用户输入选择结点,程序调用BiTNode*FindNode(chartag,BiTNode*node)函数,返回子树的根结点,然后调用BiTreeDepth(BiTreeT)函数,求出子树的深度,并输出该值。  3.用户可以选择是否继续执行程序,若继续,则输入1,否则输入0,结束程序。  五、主程序代码:  intmain(void)  {  BiTreeT;  TElemTypee1;  charnode;//node为用户选择输入的结点//  intb,choose;//b为以选定结点为子树的深度,choose为实现多次选择输入的标志//  BiTNode*a;//a为选定结点为子树的根结点//  choose=1;//多次选择的标志,当choose为1时运行程序,为0时结束程序//InitBiTree(T);  printf(构造空二叉树后,树空否?%d(1:是0:否),树的深度=%d\n,BiTreeEmpty(T),BiTreeDepth(T));  e1=Root(T);  if(e1!=Nil)  #ifdefCHAR  printf(二叉树的根为:%c\n,e1);  #endif  #ifdefINT  printf(二叉树的根为:%d\n,e1);  #endif  else  printf(树空,无根\n);//三元组构建二叉树stringx;  printf(输入格式说明:三元组方式输入,P:parent,C:child,L/R:CisPsleftchild/rightchild,输入end结束输入\n);  printf(eg.theroot:input^AL,itsleftchildisB:inputABL,itsrightchildisC:inputACR!\n);  GetUserWord(x);  while(x!=end)  {  AddNode(T,x[0],x[1],x[2]);  GetUserWord(x);  }//输出树PrintTreeLevel(T);  //以三元组形式输入任意二叉树,求以任意一选定结点为子树的深度。  while(choose)//实现多次选择输入//  {  printf(Pleaseselectanode:);  fflush(stdin);  scanf(%c,node);  a=FindNode(node,T);//a为生成子树的根//  b=BiTreeDepth(a);  printf(theDepthofBiTreeis:%d\n,b);  printf(\nifyouwanttocointuechoose1,elsechoose0:);  fflush(stdin);  scanf(%d,choose);  }  DestroyBiTree(T);  returnEXIT_SUCCESS;  }  六、心得体会  树是常用的数据结构。通过实验加深了我对树的遍历的认识,巩固了课本中所学的关于树的基本算法。按要求完成了实验内容。  通过实验,有如下几点收获和体会:  1、通过实验还提高了一点改错能力,对于一些常见问题加深了印象。  2、编程需要有耐心,尤其实在单步调试的时候,更是马虎不得,有时候关键就是那么一步,错过了就得从头来过了。编程也需要勇气,要勇于发现自己的错误,  也要勇于推翻自己之前的思路,要坚信“没有最好,只有更好”。编程,最好是一鼓作气,得天天“摸摸”它,时时想着它,要是过一阵再去碰它那就得先去读懂自己的程序了,一切的一切几乎都得从头开始。编程需要细心,有时一个不注意小错误就能引出大问题。编程也需要规范,不仅为了他人能看得懂程序,也为了方便自己以后程序的更改与进一步的完善。  3、程序由算法和数据结构组成,一个好的程序不仅算法重要,数据结构的设计也很重要。  4.以前在学C语言时总觉得函
                您可能关注的文档
最近下载
- 职业技能竞赛数控车工、数控铣工、加工中心实操训练试题-1.doc VIP
- 低压并网柜技术规范书.doc VIP
- 2025年法官入额考试真题及答案.docx VIP
- 《工程勘察设计收费管理规定》计价格【2002】10号.doc VIP
- 2025年法官入额考试真题及答案.docx VIP
- 《GJ B798-1990-伪装涂料漆膜颜色》.pdf VIP
- 美国纽约摄影学院摄影教材【上下册无密码全版】PDF版.docx VIP
- 职业生涯规划书.docx VIP
- 截屏-节能与新能源汽车技术路线图3.0-2025-10-新能源.pptx
- 2022年二级造价师《建设工程计量与计价实务》(水利)考试题库.pdf VIP
 原创力文档
原创力文档 
                        

文档评论(0)