【软考】二叉树的存储

一、基本概念
  • 1.满二叉树:最深一层都没有子节点,其它层都有左右两个节点
  • 2.完全二叉树:是满二叉树的子集,在完全二叉树中最深一层的子节点往上的一层靠右边的节点没有子树
  • 3.深度为3的满二叉树:
  • 4.深度为2的满二叉树:
  • 5.深度为2的完全二叉树:
  • 6.深度为2的完全二叉树:
  • 7.深度为2的完全二叉树:
  • 8.深度为2的非完全二叉树
二、二叉树的顺序存储
2.1 说明
  • 1.顺序数组既要存储各个节点的数值,也要体现节点的兄弟、父子关系。
  • 2.按照分层关系,按照完全二叉树的做法,从根节点开始编号,直到最深层的最右边的节点为止,数组的标号就是节点编号
  • 3.能很方便求出各节点与其它节点间的关系
  • 4.如果不是完全二叉树,会浪费空间,因此只有完全二叉树或接近完全二叉树的存储采用顺序存储
2.2 图示
  • 1.节点有A B C D E F G H构成的二叉树
    在这里插入图片描述
  • 2.补全成完全二叉树,并标注存储的数值
    在这里插入图片描述
  • 3.形成数组
    在这里插入图片描述
三、二叉树的链表存储
3.1 说明
  • 1.每个二叉树的节点,拥有左子树和右子树,可以采取双向链表记录节点和左右子树节点的位置
  • 2.用L指针指向左子树,用R指针指向右子树
  • 3.根指针当做二叉树对的名称,二叉树A
3.2 图示
  • 1.一个节点,^表示指向null
    在这里插入图片描述

  • 2.整个图示
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王佑辉

老板,赏点吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值