树和二叉树

1.树的基本概念:

 

树的度:所有结点的度当中,度数最大的。 

叶子结点:度为0的结点

分支结点:除了叶子节点以外,都是分支结点。

内部结点:除了叶子节点,和根节点以外所有的结点。

总结点为  N,总度数为K  ,则  N = K +1

2.树的遍历

遍历混乱的时候,可以假设空结点位置为 null  ,也走一下

前序(先根)遍历:1--2--6--7--3--4--8--9--10

后序(后根)遍历:5--6--7--2--3--9--10--8--4--1

层次遍历:1--2--3--4--5--6--7--8--9--10

 

3.二叉树的一些概念和特性

二叉树并不是一种特殊的树,而是一种独立的一种数据结构。

满二叉树:所有结点都是充实的,没有空缺的结点。

完全二叉树:假设该二叉树为K层,则(K-1)层为满,且叶子结点,全部集中在左侧。

非完全二叉树:即普通二叉树

二叉树的重要特性:

1.在二叉树的第K层上,最多有2的K-1次方(K>=1)

2.深度为K的二叉树,最多有2的K次方减1个结点(K>=1)

3.对于任何一棵二叉树,如果其叶子结点的个数为K,度为2的结点数为M,则K=M+1

4.如果对于一棵有N个结点的完全二叉树的结点按层次进行编号(如上图,从第一层到第  (log 2n 向下取整),每层从左到右),对任意结点 i (1<i<n),有:

    如果i=1,则结点i无父结点,是二叉树的根,如果i>1,则父结点为  i/2 向下取整

    如果2i>n,则结点i为叶子结点,无左子结点,否则,其左子结点为2i

    如果2i+1>n,则结点i无右子结点,否则,其右子结点是结点2i+1

 

例:一个具有767个结点的完全二叉树,其叶子结点的个数为 (384)

      解题:假设度为0的结点数为n0,度为1的结点数为n1,度为2的结点数为n2 ,

      则n0+n1+n2=767,

      768=2*n0+n1,度为1的个数为 0 或 1  ,

      所以个数为384

4.二叉树的遍历

前序(先根)遍历:1--2--4--5--7--8--3--6 

中序(中根)遍历:4--2--7--8--5--1--3--6

后序(后根)遍历:4--8--7--5--2--6--3--1

层次遍历:1--2--3--4--5--6--7--8

5.树和二叉树的转换

取最左侧子结点为左子结点,兄弟结点转为右子结点

转换完成之后,先序遍历不变

 

 

 

      

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值