- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实??验??报告
課程名称算法与数据构造
专????业
学号
姓名?
试验曰期?11月17曰
算法与数据构造试验汇报
二叉树的应用
一、试验目的
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,C,L/R)方式输入,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、编程需要有耐心,尤其实在单步调试的時候,更是馬虎不得,有時候关键就是那么一步,錯过了就得从头来过了。编程也需要勇气,要勇于发現自已的錯误,也要勇于推翻自已之前的思绪,要坚信“没有最佳,只有更好”。编程,最佳是一鼓作气,得每天“摸摸”它,時時想着它,要是过一阵再去碰它那就得先去读懂自已的程序了,一切的一切几乎都得从头开始。编程需要细心,有時一种不注意小錯误就能引出大问題。编程也需要规范,不仅為了他人能看得懂程序,也為了以便自已后来程序的更改与深入
您可能关注的文档
最近下载
- 2022-2023学年浙江省杭州高新实验学校八年级(下)期中语文试卷-普通用卷.docx
- 桥式起重机使用协议书必威体育精装版版.doc VIP
- 铁路建设项目施工招标投标实施细则.pdf VIP
- 义务教育《艺术》课程标准(2023年版.pptx
- 造价咨询服务机构设置和岗位职责.docx
- 20252030年中国电力交易行业市场现状调查及发展趋向研判.pptx VIP
- 参考文献规范格式.docx VIP
- 高等数学考研知识点总结.pdf VIP
- 2021-2022学年山西省晋中市介休市七年级(下)期中数学试题及答案解析.docx
- OxfordPhonicsWorld1DEF(课件)-牛津自然拼读.pptx VIP
文档评论(0)