问:什么是满二叉树?什么是完全二叉树?什么是平衡二叉树?什么是二叉查找树?
满二叉树
除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。
国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。
完全二叉树
完全二叉树是一种特殊的二叉树,满足以下要求:
所有叶子节点都出现在 k 或者 k-1 层,而且从 1 到 k-1 层必须达到最大节点数;
第 k 层可以不是满的,但是第 k 层的所有节点必须集中在最左边。
需要注意的是不要把完全二叉树和“满二叉树”搞混了,完全二叉树不要求所有树都有左右子树,但它要求:任何一个节点不能只有左子树没有右子树
叶节点只能出现在最下层和次下层,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。
二叉查找树
二叉查找树(又叫二叉排序树),它是具有下列性质的二叉树:
若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;
左、右子树也分别为二叉排序树。
二叉查找树中,左子树都比节点小,右子树都比节点大,递归定义。
根据二叉排序树这个特点我们可以知道:二叉排序树的中序遍历一定是从小到大的。
平衡二叉树
平衡二叉树的提出就是为了保证树不至于太倾斜,尽量保证两边平衡。因此它的定义如下:
平衡二叉树要么是一棵空树
要么保证左右子树的高度之差不大于 1
子树也必须是一颗平衡二叉树
问:什么是满二叉树?什么是完全二叉树?什么是平衡二叉树?什么是二叉查找树?相关推荐
- step3 . day6数据结构之非线性表 满二叉树和不完全二叉树
二叉树和链表相似,只是后节点变成了左右节点,重要的是递归思想的理解和返回时候的层级结构 1.满二叉树的穿件及前中后序遍历 #include <stdio.h> #include <s ...
- 满二叉树与完全二叉树
满二叉树与完全二叉树 满二叉树 定义 特点 完全二叉树 定义 特点 例题 满二叉树 定义 在一棵二叉树中,如果所有分支结点都有左.右孩子结点,并且叶子结点都集中在二叉树的最下层,这样的二叉树称为满二叉 ...
- 树-二叉树、满二叉树和完全二叉树
树-二叉树.满二叉树和完全二叉树 二叉树的定义: (1)当n=0时,为空树: (2)当n>0时,是由一个根结点和称为根结点的左.右子树构成,并且两颗子树互不相交. 满二叉树: 对于一棵二叉树,如 ...
- 数据结构与算法(八)-二叉树(斜二叉树、满二叉树、完全二叉树、线索二叉树)...
前言:前面了解了树的概念和基本的存储结构类型及树的分类,而在树中应用最广泛的种类是二叉树 一.简介 在树型结构中,如果每个父节点只有两个子节点,那么这样的树被称为二叉树(Binary tree).其中 ...
- b+树时间复杂度_满二叉树、完全二叉树、二叉搜索树、平衡二叉树
"存在即合理"为什么需要每种树,本文不再冗余的总结每种树太多性质,就说重点. 二叉树(Binary Tree)主要包括:满二叉树.完全二叉树.二叉搜索树.平衡二叉树 性质太多,定义 ...
- 数据结构:满二叉树,完全二叉树,非完全二叉树 的区别
数据结构:满二叉树,完全二叉树,非完全二叉树 的区别 前言 一.满二叉树 二.完全二叉树 三.非完全二叉树 总结 版权声明 前言 记录下满二叉树,完全二叉树,非完全二叉树的区别 一.满二叉树 如上图所 ...
- 满二叉树 / 真二叉树 / 完全二叉树 ~
真二叉树:所有结点的度为 0 或 2 满二叉树:所有结点的度为 0 或 2 ,且所有的叶子结点都在最后一层 性质:第 i 层的结点数量:2 i-1 叶子结点数量:2 h-1 ...
- 二叉树、平衡二叉树、完全二叉树、满二叉树
基本概念 结点的层次(Level)从根开始定义,根为第一层,根的孩子为第二层. 二叉树的高度:树中结点的最大层次称为树的深度(Depth)或高度. 二叉树 在计算机科学中,二叉树是每个结点最多有两个子 ...
- 完全二叉树 满二叉树
概念 结点的层次(Level)从根开始定义,根为第一层,根的孩子为第二层. 二叉树的高度:树中结点的最大层次称为树的深度(Depth)或高度. 数据结构中,树的度是什么? 它是树内各结点的度的最大值 ...
- 树、二叉树、满二叉树、完全二叉树概念分清
自由树 自由树是一个连通的,无回路的无向图. 令G=(V,E)为一个无向图.下面的表述是等价的. 1) G是自由树. 2) G中任意两个顶点由唯一一条简单路径得到. 3) ...
最新文章
- 安装Python第三方库的三个方法
- 对于位置无关代码的理解
- springboot netty给特定客户端推送_Spring Boot 又升级了?2.0 你搞懂了吗?!
- RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser
- 子序列的个数 --- 庞果网
- EDFbrowser查看edf文件及睡眠分期认识
- ArduinoUNO实战-第九章-光敏电阻或亮度传感器
- 财会法规与职业道德【10】
- 一篇博文搞定英文常见单词后缀(完全版)
- VRay Next for SketchUp 赋予材质常见问题
- 淘宝2011春季校园招聘笔试试题(回忆版)(附个人简历)
- 智能颈部按摩仪设计——2.开发环境搭建
- lwip连续发数据卡死_用lwip发送大量数据时,遇到的问题解答记录 | 求索阁
- 卖场型旗舰店好入驻吗?需要什么资料?
- 大数据Python基础——第三章 字符串加列表练习
- 使用弗洛伊德算法(Floyd-Warshall)找到所有对最短路径长度
- HTTP学习笔记(适合初学)2
- pandas生意参谋数据处理
- Druid连接池配置详解
- 微型计算机usb接口工作方式,大学计算机——计算思维之路-中国大学mooc-题库零氪...