树-二叉树遍历、建立、线索化

本文详细介绍了二叉树的概念,包括其形态、性质、存储结构和遍历方式。重点讲解了如何通过先序、中序、后序遍历建立二叉树,并阐述了线索二叉树的概念,它是通过线索化过程将二叉树转化为双向链表,方便查找前后继节点。
摘要由CSDN通过智能技术生成

二叉树是n(n>=0)个结点的有限集合。该集合或者为空树,或者由一个根结点加上两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。(二叉树中不存在度大于2的结点,并且二叉树的子树有左子树和右子树之分!)

二叉树基本五种形态:1.空树 2.只含根结点 3.根结点只有左子树 4.根结点只有右子树 5.根结点既有左子树又有右子树

两类特殊的二叉树:

        1.满二叉树:指的是深度为k且含有2k-1个结点的二叉树。

                             特点:每一层上都有含有最大结点数。

                             结点编号:从上到下,从左到右按自然数编号。

          2. 完全二叉树(满二叉树是一种特殊的完全二叉树):深度为k的二叉树中所含的 n 个结点和深度为k的满二叉树中编号为 1 至 n 的结点一一对应。

                                    特点:除最后一层外,每一层都取最大结点数,最后一层结点都集中且连续分布在该层最左边的若干位置。

                                               叶子结点只可能在层次最大的两层出现。

                                               对任一结点,若其右分支下的子孙的最大层次为L,则其左分支下的子孙的最大层次为L 或L+1。

二叉树的性质:

性质1 : 在二叉树的第 i 层上至多有2^(i-1)个结点 (i≥1) 。

性质2 : 深度为 k 的二叉树至多含 2^k-1 个结点(k≥1)。

               2^0+2^1+^+2^(k-1) = 2^k-1 。

性质3 : 对任何一棵二叉树,若它含有n0 个叶子结点、n2 个度为 2 的结点,则必存在关系式:n0 = n2+1。

               设二叉树上结点总数 n = n0 + n1 + n2

               又二叉树上分支总数 b = n1+2n2

               而 b = n-1 = n0 + n1 + n2 - 1

               由此, n0 = n2 + 1 。

性质4:具有 n 个结点的完全二叉树的深度为 ⌊ log2n +1 。

             设完全二叉树的深度为 k 则根据第二条性质得  2^(k-1) -1 < n ≤ 2^k -1      

             n为整数,则 2k-1 ≤  n < 2k                          

             即 k-1 ≤  log2 n < k 因为 k 只能是整数, 因此,⌊ log2n +1。

性质5:若对含 n 个结点的完全二叉树从上到下且从左至右进行 1 至 n 的编号,则对完全二叉树中任意一个编号为 i 的结点:                 若 i=1,则该结点是二叉树的根,无双亲,否则,编号为 i/2⌋ 的结点为其双亲结点;  

             若 2i>n,则该结点无左孩子,否则,编号为 2i 的结点为其左孩子结点;

             若 2i+1>n,则该结点无右孩子结点,否则,编号为2i+1 的结点为其右孩子结点。

二叉树的存储结构:

1.  二叉树的顺序存储:

完全二叉树:

一般二叉树:编号规则: 根结点的编号为1;对于编号为i的结点,左孩子如果存在,则编号为2i,右孩子如果存在则编号为2i+1。 

单支二叉树:

2.  二叉树的链式存储:

     ①:二叉链表

            结点结构:

lchild data rchild

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值