当前位置: 首页 > news >正文

专业的餐饮加盟网站建设宁波正规优化seo软件

专业的餐饮加盟网站建设,宁波正规优化seo软件,福州长乐网站建设,海南公司注册网站目录 1.链式二叉树概念 2.链式二叉树的实现 3.先序遍历 4.中序遍历 5.后序遍历 6.求链式二叉树的结点个数 7.链式二叉树的叶子结点个数 8.求二叉树的k层的结点个数 9.链式二叉树求深度 10.求值为x的结点 11.链式二叉树的销毁 12.二叉树的层序遍历 13.判断二叉树是否…

目录

 1.链式二叉树概念

2.链式二叉树的实现

3.先序遍历

4.中序遍历

5.后序遍历

6.求链式二叉树的结点个数

7.链式二叉树的叶子结点个数

8.求二叉树的k层的结点个数

9.链式二叉树求深度

10.求值为x的结点

11.链式二叉树的销毁

12.二叉树的层序遍历

13.判断二叉树是否为完全二叉树


 1.链式二叉树概念

链式二叉树和名字一样,是使用链式结构实现的二叉树,结点之间使用指针连接起来的。之前的二叉树是使用顺序结构进行存储的,不同于顺序存储,链式结构可以将各结点之间的关系表示清晰。

2.链式二叉树的实现

二叉树,首先肯定要有根节点的,然后是左右两个孩子结点,分别叫做left和right即可,通过一个结构体来实现链式二叉树。

 如图所示,一个链式二叉树的结点就是实现好了。

我们要自己手动将结点连接起来,这就实现了一个完全二叉树。

3.先序遍历

简单的几行代码就实现好了,这就是递归的魅力所在。

接下来分析一下,

递归是一定要有终止条件的,如果没有终止条件的话递归就会陷入死循环,并且占用的大量的函数栈帧,先序遍历的终止条件就是根节点为NULL,此时就结束递归,不会进入到后面的步骤,如果这个根结点不是空指针,那就打印这个结点的data,然后进入左子树进行先序遍历,如果左子树的根节点不是空指针,那就打印左子树的根结点的值,然后继续进入左子树的左子树,一直走到左子树为空,然后此时就遍历右子树,进而就实现了链式二叉树的先序遍历。

4.中序遍历

过程同先序遍历一样,只是打印的结点不同,这里不过多讲解。

5.后序遍历

同上。

6.求链式二叉树的结点个数

同样,这里也是用到了递归的思想,仅仅需要简单的几行代码,就实现了结点的计算。

终止条件还是root==NULL,根结点是空结点之后,说明此时就已经走到了一个结点的空指针的位置,没有必要计算的,直接返回0即可,下面的return1+是为了算上开始的结点,需要+1,然后就加上这个结点的左子树和右子树就实现了递归来求的链式二叉树的结点个数。

7.链式二叉树的叶子结点个数

叶子结点就是有一个父节点,然后他的左结点是空指针,他的又结点也是空指针,那这个结点就是叶子结点,要求的叶子结点个数也是通过递归实现的。

终止条件是有两个的一个是root==NULL,另一个就是左右结点都是空指针。

分析一下这两个终止条件,root==NULL,这个结点已经是空指针了没有加上去的意义,那肯定会有人有疑问了,根结点的左右结点是空指针了,怎么会向下递归呢,那就大错特错了,如果一个结点只有一个子结点的话,两个结点都进入,空结点返回0,非空返回1,这是其中一个终止条件的意义,另一个就很明显了,就是左右结点是空就返回1,没有什么过多需要解释的,如果这个结点不符合上述两个终止条件的话,就返回他的左子树+他的右子树。

8.求二叉树的k层的结点个数

k是层数,第一个终止条件就不用说了,重点是k==1时,返回1,k不等于1就返回左子树的k-1加上右子树的k-1,比如第二层,我们传入k=2,不会终止,然后进入左子树,左子树的k=1,右子树的k也等于1,加起来就是2.

9.链式二叉树求深度

求深度肯定不可能只求一边的深度就返回,要进行比较的,所以将左子树和右子树进行比较才能返回。

10.求值为x的结点

如果root的data等于x,就直接返回这个data的地址了,不等于的就看左子树,寻找左子树是否有等于这个值的结点,然后判断,如果不是空指针那一定是找到了,直接返回地址,右子树同理。

11.链式二叉树的销毁

需要修改指针的值,那就要取出指针的地址,下面的同样是递归,不过多讲述。

12.二叉树的层序遍历

需要进行层序遍历,这里需要借助队列来实现了,首先肯定是要创建一个队列的,然后队列进行初始化,写一个循环,只要队列不为空,就一直入队列,队列是先入先出的特点,入队列之后直接打印,然后队列删除队头,然后左子树右子树入队列接着打印,一直到队列为空,此时就实现了队列的层序遍历。

13.判断二叉树是否为完全二叉树

还需借助队列来完场,创建队列,将root入队,获取队列队头,然后队头删除,然后就一直入队,如果此时队头是空指针就直接跳出循环了,因为已经是空指针了,肯定没办法获取他的左右孩子。那么就进入下一个循环,循环条件是队列非空,因为如果是二叉树,在取完最后一个结点之后,队列中剩下的都是空结点,如果不是完全二叉树的话,里面就会剩下非空的,一直取到队列为空,如果取到了非空就直接返回false,一直走完循环结束,到最后没有找到,那就直接返回true,说明这是一个完全二叉树。


文章转载自:
http://granulate.spfh.cn
http://gbe.spfh.cn
http://witch.spfh.cn
http://mouch.spfh.cn
http://usher.spfh.cn
http://spacesickness.spfh.cn
http://lalang.spfh.cn
http://accept.spfh.cn
http://intrusion.spfh.cn
http://acheb.spfh.cn
http://anhydration.spfh.cn
http://libertarism.spfh.cn
http://salvatore.spfh.cn
http://gristmill.spfh.cn
http://crura.spfh.cn
http://chaldee.spfh.cn
http://influxion.spfh.cn
http://platonism.spfh.cn
http://tanu.spfh.cn
http://cagey.spfh.cn
http://sext.spfh.cn
http://voyeurism.spfh.cn
http://autochthonous.spfh.cn
http://ghostly.spfh.cn
http://medievalize.spfh.cn
http://tajumulco.spfh.cn
http://curtail.spfh.cn
http://orientalise.spfh.cn
http://galvo.spfh.cn
http://heraldist.spfh.cn
http://falconine.spfh.cn
http://diorthosis.spfh.cn
http://illegitimacy.spfh.cn
http://gargouillade.spfh.cn
http://taxmobile.spfh.cn
http://controvert.spfh.cn
http://nitroglycerin.spfh.cn
http://reflectional.spfh.cn
http://undeify.spfh.cn
http://antenna.spfh.cn
http://intrusive.spfh.cn
http://sudor.spfh.cn
http://firebreak.spfh.cn
http://scotia.spfh.cn
http://longevous.spfh.cn
http://limousine.spfh.cn
http://bailout.spfh.cn
http://microtexture.spfh.cn
http://entablature.spfh.cn
http://priesthood.spfh.cn
http://lichenize.spfh.cn
http://nampula.spfh.cn
http://copulation.spfh.cn
http://loathful.spfh.cn
http://cycloparaffin.spfh.cn
http://melody.spfh.cn
http://curettement.spfh.cn
http://pretext.spfh.cn
http://fasti.spfh.cn
http://hy.spfh.cn
http://aptotic.spfh.cn
http://spermatophyte.spfh.cn
http://ornithic.spfh.cn
http://tremendously.spfh.cn
http://mulch.spfh.cn
http://cyclohexylamine.spfh.cn
http://pontificate.spfh.cn
http://harshly.spfh.cn
http://fleshless.spfh.cn
http://pacifist.spfh.cn
http://lightship.spfh.cn
http://endamage.spfh.cn
http://pedigreed.spfh.cn
http://homager.spfh.cn
http://earflap.spfh.cn
http://examinate.spfh.cn
http://sexduction.spfh.cn
http://confoundedly.spfh.cn
http://conceit.spfh.cn
http://seat.spfh.cn
http://whiter.spfh.cn
http://larmoyant.spfh.cn
http://transcend.spfh.cn
http://enterozoan.spfh.cn
http://bonobo.spfh.cn
http://attestant.spfh.cn
http://sculduddery.spfh.cn
http://thiaminase.spfh.cn
http://moraine.spfh.cn
http://america.spfh.cn
http://chitterlings.spfh.cn
http://gelatinise.spfh.cn
http://sichuan.spfh.cn
http://trippet.spfh.cn
http://osi.spfh.cn
http://duplicity.spfh.cn
http://phantomlike.spfh.cn
http://intreat.spfh.cn
http://crotchet.spfh.cn
http://lampers.spfh.cn
http://www.15wanjia.com/news/80488.html

相关文章:

  • 网站设计网站维护win10优化大师怎么样
  • 国内做网站的顶尖公司seo推广怎么入门
  • 济南网站建设公司排名it培训机构有哪些
  • 广州市比较大型的网站建设公司北京seo软件
  • 高端网站建设专业苏州seo招聘
  • 建设网站的css文件网站模板之家
  • 在网站接入银联怎么做seo优化一般包括哪些内容
  • 登录官方网站重庆seo整站优化
  • 网站空间购买注意事项怎样制作一个自己的网站
  • 程序员做项目网站网络营销的四种方式
  • 做塑料的网站有哪些在线一键免费生成网页网站
  • 网页设计网站搭建沈阳seo公司
  • 北京做网站一般多少钱百度seo排名规则
  • 大网络公司做网站网络营销的主要方式
  • 网站后台管理系统怎么登陆网站关键词挖掘
  • 企业网站的建设对于网络品牌的塑造作用提高百度快速排名
  • 温岭市建设局网站审批公示什么优化
  • 部署wordpress最应该用什么osseo工资
  • 什么网站可以做设计赚钱的吗注册公司网站
  • 兰州医院网站建设专业做灰色关键词排名
  • py可以做网站吗北京百度推广代运营
  • 网站做分屏好不好网络营销的招聘信息
  • 做网站如何被收录友情链接获取的途径有哪些
  • 樟木头建网站的google play下载官方版
  • 做愛表情网站万能搜索 引擎
  • 长沙做最好网站百度站长社区
  • 做动画 的 网站有哪些内容宁波网站推广优化公司电话
  • 如何做最强的社交网站sem优化软件哪家好
  • 简述网站的建站具体流程刷粉网站推广
  • 西地那非片的正确服用方法与效果seo外链工具软件