一、完美二叉树

一个深度为k(>=-1)且有2^(k+1) - 1个结点的二叉树称为完美二叉树。

二、满二叉树

如果一棵二叉树只有度为 0 的结点和度为 2的结点,则这棵二叉树为满二叉树。

三、完全二叉树

完全二叉树:叶节点只能出现在最下层和次下层,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。

完全二叉树通常采用数组储存,int[] arr = new int[n]

当n从0开始时:对于结点 i ,其左子节点为 2i+1 ,右子节点为 2i+2

当n从1开始时:对于结点 i ,其左子节点为 2i ,右子节点为 2i+1

三者对比

  • 完美(Perfect)二叉树一定是完全(Complete)二叉树,但完全(Complete)二叉树不一定是完美(Perfect)二叉树。
  • 完美(Perfect)二叉树一定是满(Full)二叉树,但满(Full)二叉树不一定是完美(Perfect)二叉树。
  • 完全(Complete)二叉树可能是满(Full)二叉树,满(Full)二叉树也可能是完全(Complete)二叉树。
  • 既是完全(Complete)二叉树又是满(Full)二叉树也不一定就是完美(Perfect)二叉树。

完美二叉树、满二叉树、完全二叉树相关推荐

  1. 二叉树-满二叉树、完全二叉树

    二叉树-满二叉树.完全二叉树 满二叉树 一棵高度为h,并且含有 2 h − 1 2^{h}-1 2h−1个结点的二叉树称为满二叉树,即树中的每一层都含有最多的结点.满二叉树的叶子节点都集中在二叉树的最 ...

  2. 二叉树Ⅰ · 树型结构 · 二叉树 · 满二叉树 · 完全二叉树 · 二叉树的性质 · 二叉树的存储

    目录 一.树型结构(了解) 1.1 引入和特点 1.2 概念(重要) 1.3 树的表示形式(了解) 二.二叉树(重点) 2.1 概念 2.2 二叉树的基本形态 2.3 两种特殊的二叉树 满二叉树 完全 ...

  3. 【数据结构】树 二叉树 满二叉树 完全二叉树初步理解

    文章目录 树的相关基本术语 树的表示形式 树结构典型应用场景 二叉树基本概念 满二叉树概念及其性质 完全二叉树的概念和性质 一道完全二叉树的面试题 树的相关基本术语 节点的度:一个节点含有的子树的个数 ...

  4. 数据结构之什么是二叉树(满二叉树和完全二叉树)以及和树的区别

    二叉树定义: 二叉树是一种树型结构,它的特点是每个结点至多只有两颗子树(二叉树有左右之分次序不能随意)括号这句话的意思就是说二叉树是有序的 而树无序 二叉树的基本形态: (a)空树: (b)只有根结点 ...

  5. 算法(63)-二叉树的递归-搜索二叉树-满二叉树-平衡二叉树-

    目录 1.二叉树 2.搜索二叉树: 3.满二叉树: 4.平衡二叉树 1.二叉树 先.中.后序遍历    先序(中.左.右):1,2,4,5,3,6,7    中序(左.中.右):4,2,5,1,6,3 ...

  6. 树、二叉树、满二叉树、完全二叉树、二叉树的重要性质及其存储结构

    树的概念及结构 树的概念  树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成的一个具有层次关系的集合.把它叫做"树",是因为它看起来像一颗倒挂的树,也就是说它是根 ...

  7. c#二叉树 取叶子节点个数_数据结构第四章:树与二叉树(二叉树的概念、性质、特殊二叉树)...

    第四章:树与二叉树(二叉树的逻辑结构) 1.二叉树 二叉树是树结构的一种,故二叉树也是逻辑结构. 二叉树:二叉树是n(n≥0)个结点的有限集合. · 1)n=0时,二叉树为空; · 2)n>0时 ...

  8. 再谈二叉树(二叉树概念,二叉树的性质,二叉树的存储结构)

    树的概念 树的概念 树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合.把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的.它具有以下的特点 ...

  9. 【数据结构Note5】- 树和二叉树(知识点超细大全-涵盖常见算法 排序二叉树 线索二叉树 平衡二叉树 哈夫曼树)

    文章目录 5.1 树和二叉树引入 5.1.1 树的概念 5.1.2 树的表示 5.1.3 树中基本术语 5.2 二叉树 5.2.1 概念 5.2.2 二叉树的性质 5.2.3 特殊的二叉树 5.2.4 ...

最新文章

  1. [Quick-x]制作新手引导高亮区域方法之二:裁剪模式
  2. C 关于使用异或运算操作概述
  3. Windows 8实例教程系列 - 理解应用框架
  4. sentinel 官方文档_SpringCloud网关聚合Swagger接口文档实践
  5. jQuery.inArray()方法
  6. Asp.net开发中甩掉.ashx .asmx
  7. 用于单片机的几种C语言算法
  8. MyBatis之输入与输出(resultType、resultMap)映射
  9. PHP随机静态页面生成系统源码雨尘SEO系统
  10. python和html和css什么关系什么区_Python 【第七章】:Html 和 CSS
  11. 应用软件与系统不兼容的解决办法,仅供参考
  12. 【zzuli期中考试】字母倒序
  13. 路由器刷opwenwrt固件和原厂固件教程
  14. 读书笔记:《图说区块链》
  15. 163邮箱注册哪个好?电子邮箱怎么申请?
  16. php版本kms,使用 AWS KMS 加密和解密 AWS SDK for PHP 数据密钥 - 适用于 PHP 的 AWS 开发工具包...
  17. ZYNQ 的学习方法
  18. Qt图形视图QGraphicsItem类
  19. 小科普:什么是屏幕分辨率
  20. 网络代理(Proxy)

热门文章

  1. 微信小程序云开发之数据分页云函数
  2. 什么是HTTP状态码?常见HTTP状态码盘点
  3. Mac 卸载重装 brew
  4. MySQL5.7.20安装
  5. Word 使用宏根据文件名实现文件版本号自动更新_rev00
  6. VPP DPDK,不是翻墙!!
  7. FFMPEG将视频切片成ts文件并对ts文件进行ASE加密,并合并成M3U8操作方法
  8. 真知灼见|客户视图与工作台:金融行业呼叫中心领域驱动设计
  9. Python 谷歌翻译_浏览器版本 selenium (2022年1月测试可用)
  10. JavaScript html 图片滑动切换效果,幻灯片式切换,新闻展示,滚动新闻