【数据结构】数据结构探索(二) —— 二叉树(Binary Tree)

我们对树这一种结构有了入门的了解以后,我们就要开始研究最重要的树结构即二叉搜素树。

二叉树(Binary Tree)的定义

二叉树是(n≥0 )数据元素的有限集。它或为空集(n=0),或者含有唯一的一个元素称为根结点,其余的元素被分为两个互不相交的有限集合。每个集合本身又是一棵二叉树,称为根结点的左子树和右子树。

二叉树(binary tree)是树形结构的另一个重要类型。二叉树的每个结点至多有 2 个子女,而且子女有左、右之分。

 

二叉树的特点

1.一个节点最多只有两颗子树

2.二叉树是有序的

3.左子树和右子树是严格区分的

 

二叉树的性质

1. 在二叉树的第 i 层上至多有 2^(i-1) 个结点(i ≥ 1)。
2. 深度为 k 的二叉树至多有 2^k-1 个结点(k ≥ 1)
3. 对任何一棵二叉树 T,如果其终端结点数为 n0,度为 2 的结点数为 n2,则 n0= n2+1。
4. 具有 n 个结点的完全二叉树的深度 k 为[log2n]+1。
5. 对于具有 n 个结点的完全二叉树,如果按照从上至下和从左到右的顺序对二叉树的所有结点从 1 开始顺序编号,则对于任意的序号为 i 的结点,有:
    (1)如果 i>1,则序号为 i 的结点的双亲结点的序号为 i/2(“/”表示整除);如果 i=1,则序号为 i 的结点是根结点,无双亲结点。
    (2)如果 2i≤n,则序号为 i 的结点的左孩子结点的序号为 2i;如果 2i>n,则序号为i 的结点无左孩子结点。
    (3)如果 2i+1≤n,则序号为 i 的结点的右孩子结点的序号为 2i+1;如果 2i+1>n,则序号为 i 的结点无右孩子结点。

满二叉树和完全二叉树

完全二叉树
    ①叶子结点只可能在层次最大的两层上出现
    ②对任一结点,若其右分支下的子孙的最大层次为 h,则其左分支下的子孙的最大层次必为 h 或 h+1

满二叉树
    一棵深度为 k 且有 2^k-1 个结点的二叉树称为满二叉树。

如图所示,一棵只要一层有节点这一层就已经结满节点的树为满二叉树,一棵平衡二叉树为完全二叉树。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值