二叉树简单说明

 

     二叉树的定义就不写了,不清楚了可以看书或者google下.

1,二叉树的存储结构

     a,顺序存储结构

        对于满二叉树和完全二叉树来说,可以将元素逐层放入一组连续的存储单元中,用数组来实现顺序存储结构时,可以将二叉树节点编号和数组的位置对应。如下图所示

        二叉树

     数组对于完全二叉树和满二叉树是非常方便和高效的,但是对于一般的二叉树来说,缺点是相当明显的,因为是连续的存储的,所以需要把一般的二叉树用“虚节点”来补全为完全二叉树或者满二叉树,存储空间浪费巨大,可以看下图

     2

      那么对于这种二叉树,就有了下面的链式存储结构。

 

     b,链式存储结构

      在二叉树中每个节点都有两个孩子,

        二叉链表:所以设计的节点结构最少得有三个域,数据域,左孩子域,右孩子域。这种设计情况的话,如果要查找父节点,得从根节点出发一一查找,为了方便查找父节点,所以有了下面一种节点的结构。

        三叉链表:此种节点结构有四个域,数据域,左孩子域,指针域(指向节点的父节点),有孩子域。

        3

    在实际运用中,就根据实际操作来选择存储结构了。

 

    下面来解释二叉树的先序遍历,中序遍历,后续遍历。

     先序遍历:根节点--->左子树--->右子树

     中序遍历:左子树--->根节点--->右子树

     后续遍历:左子树--->右子树--->根节点

 

     二叉树的先序,中序,后续遍历操作,只是访问根节点,左子树,右子树的顺序不同而已,递归执行过程是一样的。

    

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值