鱼C论坛

 找回密码
 立即注册
查看: 1483|回复: 0

[技术交流] C++ 二叉树

[复制链接]
发表于 2020-2-26 21:46:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
二叉树


为什么要使用二叉树

二叉树的结构是树中最简单,而且是规律性最强的结构;

可以证明,所有树都能转化为唯一对应的二叉树,不失一般性。

二叉树的基本特征

  • 每个结点最多只有两棵子树(不存在度大于 2 的结点)
  • 左子树和右子树的次序不能颠倒(有序树)


二叉树的基本形态

  • 有左有右
    1.png
  • 有左无右
    1.png
  • 有右无左
    1.png
  • 单根
    1.png
  • 空树


二叉树的基本性质

  • 在二叉树的第 i 层上至多有 2i-1个节点(i > 0)
  • 深度为 k 的二叉树至多有 2k-1 个结点(k > 0)
  • 对于任何一棵二叉树,若度为 2 的结点数有 n2 个,叶子结点数为 n0 个,则 n0 = n2 + 1


满二叉树与完全二叉树

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

特点:每一层上的结点数都是最大结点数,可以对满二叉树的结点进行连续编号。如图:

1.png

完全二叉树:深度为 k,有 n 个结点的二叉树。当且仅当其每一个结点都与深度为 k 的满二叉树中编号从 1 至 n 的结点一一对应时,称之为完全二叉树。如图:

1.png

特点:

  • 叶子结点只可能在层次最大的两层出现
  • 对任一结点,若其右分支下子孙的最大层次数为 h,则其左分支下的子孙的最大层次数必为 h 或 h + 1


满二叉树和完全二叉树是二叉树的特例。

满二叉树一定是完全二叉树。

评分

参与人数 1荣誉 +3 鱼币 +3 贡献 +3 收起 理由
小甲鱼de粉丝 + 3 + 3 + 3 鱼C有你更精彩^_^

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 18:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表