动态平衡二叉树,报告

动态平衡二叉树,报告

ID:30075793

大小:20.63 KB

页数:18页

时间:2018-12-26

动态平衡二叉树,报告_第1页
动态平衡二叉树,报告_第2页
动态平衡二叉树,报告_第3页
动态平衡二叉树,报告_第4页
动态平衡二叉树,报告_第5页
资源描述:

《动态平衡二叉树,报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划动态平衡二叉树,报告  数据结构实验报告  题目:平衡二叉树  学院专业年级班别  学号  学生姓名指导教师  XX年7月1日  1.题目:采用字符类型为整型类型和链式存储结构,实现抽象数据类型BTree。ADTBTree{  数据对象:D={ai

2、ai∈ElemSet,i=1,2,...,n,n≥0}  数据关系:R1={

3、ai-1,ai∈D,i=2,...,n}  基本操作:  Adj_bala

4、nce(T)  操作结果:创建平衡二叉树。  InsertAVL(T,search,taller)  初始条件:二叉树T已存在。  操作结果:增加新结点。  SetAVL(T,search,taller)  初始条件:二叉树T已存在。  操作结果:在平衡二叉树上增加新结点并调平衡。  DeleteAVL(T,search,shorter)目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的

5、正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  初始条件:二叉树T已存在。  操作结果:删除结点。  }ADTBTree  2.存储结构定义  公用头文件:  #include  #include  树的内部变量  typedefstructBTNode  {  intdata;  intbf;//平衡因子  structBTNode*lchild,*rchild;//左、右孩子  }BTNode,*BTree;  /*需要的函数声明*/  voidRight_Balance(BTree&

6、p);  voidLeft_Balance(BTree&p);  voidLeft_Root_Balance(BTree&T);  voidRight_Root_Balance(BTree&T);  boolInsertAVL(BTree&T,inti,bool&taller);  voidPrintBT(BTreeT);  voidLeft_Root_Balance_det(BTree&p,int&shorter);目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业

7、水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  voidRight_Root_Balance_det(BTree&p,int&shorter);  voidDelete(BTreeq,BTree&r,int&shorter);  intDeleteAVL(BTree&p,intx,int&shorter);  voidAdj_balance(BTree&T);  boolSetAVL(BTree&T,inti

8、,bool&taller);  boolInsert_Balance_AVL(BTree&T,inti,bool&taller);  intmenu();  3.算法设计  /*对以*p为根的二叉排序树作右旋处理*/  voidRight_Balance(BTree&p)  {  BTreelc;  lc=p->lchild;//lc指向的*p左子树根结点  p->lchild=lc->rchild;//rc的右子树挂接为*p的左子树  lc->rchild=p;  p=lc;//p指向新的结点  }  /*

9、对以*p为根的二叉排序树作左旋处理*/  voidLeft_Balance(BTree&p)  {目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  BTreerc;  rc=p->rchild;//指向的*p右子树根结点  p->rchild=rc->lchild;//rc左子树挂接到*p的右子树  rc->lchild

10、=p;  p=rc;//p指向新的结点  }  /*对以指针T所指结点为根的二叉树作左平衡旋转处理*/  voidLeft_Root_Balance(BTree&T)  {  BTreelc,rd;  lc=T->lchild;//指向*T的左子树根结点  switch(lc->bf)//检查*T的左子树的平衡度,并作相应平衡处理{  case1://新结点插入在*T的左孩子的左子树上,要作单右旋处

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。