电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

实验五--二叉树的存储结构和基本操作

9页
  • 卖家[上传人]:新**
  • 文档编号:486670644
  • 上传时间:2023-12-11
  • 文档格式:DOC
  • 文档大小:26.50KB
  • / 9 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、实验五 二叉树的存储表达和基本操作实验内容 1. 二叉树的二叉链表的存储构造 二叉树的二叉链表存储表达ypee srut nodeEemType dat; /*数据元素*strcte *ci; /*指向左孩子/struc node *rl; /*指向右孩子* Bode;. 二叉树的基本操作 (1)创立操作:创立一棵二叉树。()查找操作:查找二叉树中值为的结点。(3)查找左孩子操作:查找二叉树中值为的结点的左孩子。(4)查找右孩子操作:查找二叉树中值为x的结点的右孩子。()求深度操作:求二叉树的深度。(6)求宽度操作:求二叉树的宽度。(7)求结点个数操作:求二叉树的结点个数。(8)求叶子结点个数操作:求二叉树的叶子结点个数。(9)输出操作:以括号表达法输出二叉树。3. 链式队列操作实现的环节(1)实现将链式队列的存储构造和基本操作程序代码。(2)实现man主函数。程序代码完整清单#ildeincude #dfine MxSiz 100typeef har ElemType;tyede stct ndEemTypedat;/*数据元素*/suct node lhld;/*指向左孩子*str

      2、u ode *rchil;*指向右孩子*/ TNo;/基本操作函数声明oi CetBTNoe(BTNd*b,cha *str); *创立一棵二叉树*/Bo*FindNod(Bodeb,EemType ); /*查找二叉树的结点*/ BTNode*LciNode(BNodep); /*查找二叉树结点的左孩子*/ BTNode *cidNde(TNode *p); /*查找二叉树结点的右孩子*/ int NodeDt(BToe *b); /*求二叉树的深度* oidisBTode(BTNod*); /*输出二叉树*/ it BWidth(BNodeb); /*求二叉树的宽度*/ it Noes(Boeb); /*求二叉树结点个数*/ nt LefNoes(BTode*b); 求二叉树叶子结点个数*/void n()BTo ,*,*p,;;CreBNoe(b,A(B(D,E(H(J,(L,M(,N),(F,G(,I); prnf(n);pintf(1)输出二叉树:);DispBTNode(b);print(n);prinf(2)结点:);p=FnNode(,);if (!=UL)l=Lchi

      3、ldNoe(p);i (lp!=NULL)printf(左孩子为%,lp-da);elserinf(无左孩子 );pRcildNode(p);if (rp!=NL) pintf(右孩子为%,rpat);eseprintf(无右孩子 );printf(n);print()二叉树b的深度:d,BTodeeph(b);prnf((4)二叉树b的宽度:dn,BTWith();rit(5)二叉树的结点个数:%dn,Ndes(b);pritf((6)二叉树b的叶子结点个数:,afodes(b);pntf(n);void CreateBTNo(Nde *&b,char *st)/*由r串创立二叉链*BTNode *StMaSiz,*=NULL;itop,j=0; hr ch;b=ULL;/*建立的二叉树初始时为空*/h=stj;hle (ch!=0)/*str未扫描完时循环*/ sitch() cse (:tp+;Sp=p;k1; brea;/*为左结点*/cse):top-;brk;cse ,:k=2; bra; /*为右结点*/default:p=(BNd )malloc(sizeof(BNo)

      4、;p-datac;-lcild=p-rcild=NLL; (b=NUL) 指向二叉树的根结点*/b=p;else /*已建立二叉树根结点/swtc(k)cse 1:top-chld=p;break;case:Sttpchld=p;brek;j;ch=tj;Nde FinNod(TNod *b,ElemTye )*查找二叉树的结点 操作成果:返回data*/ * 域为的结点指针*BToe *;if(b=U) etn NU;elsei(-data=) retrn ;lspFidode(b-chil,x);f (!LL) rur p;el eturn dNd(b-cil,x);BNod *LchdNd(BTNod*)/*查找二叉树结点的左孩子 操作成果:返回*p*/ /*结点的左孩子结点指针* turn p-lchild;BTNde *Rchildode(BTNoe )/查找二叉树结点的右孩子 操作成果:返回p结/ /*点的右孩子结点指针*/ retun p-rchl;intTNodeeph(BTNod *)*求二叉树b的深度/ int lchldp,rchildep; if (b=ULL)

      5、 etun();/*空树的高度为0*/ ele cildepTNdeDepth(b-lchid);*求左子树的高度为ilddep* rchilddp=BTNoeDpth(brhild);/*求右子树的高度为rhidp*/eurn (cilephildde)?(lchld1):(childep+1); od DisBTNe(BNde *b)/*以括号表达法输出二叉树/if(!=NULL)prnt(%,b-dat);if(blcild!=NUL | -child!NULL)pr();DispBTNod(b-chil);if (b-chid!=NUL)prinf(,);DispBTode(b-rcild);prif();int BTidth(BNd )/*求二叉树的宽度*/strucint no;/*结点的层次编号*/Nod*p;/*结点指针* QuaxSie;/定义顺序非循环队列*/in front,rar;/*定义队首和队尾指针*/in lum,m,,n;fonrear0;/*置队列为空队*/ i (b!=NUL)rear+;urarpb;*根结点指针入队Qrear.no1;/*根结点的层次编号为1*/while (rea!=frot)/*队列不为空*/fon+;=ufont.;*队头出队lnum=Quft.no;f(chld!=NULL)/*左孩子入队*rear;Qrar.=b-lchid;Qrear.l=um+1;i(b-rchild!=ULL)/*右孩子入队/re+;Qurear=brcld;Qrearln=lnm1;ma0;nm=1;i=;hile (=ar)n=0;while (ilhl=ULL & -rchild=NULL)

      《实验五--二叉树的存储结构和基本操作》由会员新**分享,可在线阅读,更多相关《实验五--二叉树的存储结构和基本操作》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.