二叉树简单说就是有两个子树的树

1.种类及概念:

  二叉树是每个结点最多有两个子树的树结构。

  完全二叉树:除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点。

  满二叉树:每一层上的节点数都是最大节点数,深度为k,且有2^k-1个节点。

  平衡二叉树:又被称为AVL树(区别于AVL算法),它是一棵二叉排序树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

  森林:不考虑连通性,允许图中有多个连通分量的结构。

    

    (1)空二叉树:图(a)

    (2)只有一个根结点的二叉树:图(b)

    (3)只有左子树:图(c)

    (4)只有右子树:图(d)

    (5)完全二叉树:图(e)

2.定义及性质:

  二叉树常被用于实现二叉查找树和二叉堆。

  二叉树是一个连通的无环图,并且每一个顶点的度不大于3。有根二叉树还要满足根结点的度不大于2。有了根结点之后,每个顶点定义了唯一的父结点,和最多2个子结点。

  二叉树不是树的一种特殊情形,树和二叉树有两个主要差别:

    1. 树中结点的最大度数没有限制,而二叉树结点的最大度数为2;

    2. 树的结点无左、右之分,而二叉树的结点有左、右之分。

3.其他术语:

子树:通常被称作“左子树”(left subtree)和“右子树”(right subtree);

根结点(root):也叫树根,所有非空的二叉树中,都有且仅有一个根结点。它是同一棵树中除本身外所有结点的祖先,没有父结点。

树的结点(node):包含一个数据元素及若干指向子树的分支;

孩子结点(child node):结点的子树的根称为该结点的孩子;

双亲结点:B 结点是A 结点的孩子,则A结点是B 结点的双亲;

兄弟结点:同一双亲的孩子结点;

堂兄结点:位于同一层的,并且父节点之间是兄弟结点的结点

祖先结点: 从根到该结点的所经分支上的所有结点;

子孙结点:以某结点为根的子树中任一结点都称为该结点的子孙;

结点层:根结点的层定义为1;根的孩子为第二层结点,依此类推;也叫结点的层次或结点的深度;

树的深度(depth):树中最大的结点层,也叫结点的最大层次;

结点的高度(height of node):高度与深度不同,高度的描述是自下向顶的;

路径(path)和路径长度:从结点n1到nk的路径为一个结点序列n1,n2,...,nk,ni是ni+1的父结点。路径所包含边的个数为路径的长度;

结点的度(Degree):拥有子结点(子树)的数量;

树的度: 选取所有结点中最大的度;

叶子结点:也叫终端结点,是度为 0 的结点。位于树最深层,并且树只要非空,就一定存在叶子结点

分枝结点:度不为0的结点。除了叶子结点之外的结点都为分支结点,而且根结点也是分支结点

有序树:子树有序的树,如:家族树;

无序树:不考虑子树的顺序。

【注:参考:https://blog.csdn.net/weixin_41133154/article/details/80027285

  https://baike.baidu.com/item/%E4%BA%8C%E5%8F%89%E6%A0%91/1602879?fr=aladdin】

转载于:https://www.cnblogs.com/GodSince/p/10909565.html

二叉树的概念和基本术语相关推荐

  1. c++用二叉树表示代数表达式_C语言:数据结构-二叉树的定义和基本术语和二叉树的性质...

    二叉树的定义和基本术语 (1)二叉树的定义 二叉树(Binary Tree):每个结点至多有两棵子树,且子树有左.右之分.在二叉树中不含度数大于2的结点. 二叉树的递归定义为:二叉树或者是一棵空树,或 ...

  2. 树结构之树和二叉树的概念以及如何用面向对象思想进行结构定义01

    树和二叉树的概念及结构定义 前言 一.树的基本概念及代码层面如何定义 1.树的概念 2.代码层面树如何定义 二.二叉树的基本概念及代码层面如何定义 1.二叉树的概念 2.代码层面二叉树如何定义 3.二 ...

  3. 机器学习的基本概念和相关术语

    文章目录 一.什么是机器学习 二.机器学习的相关术语 三.机器学习的典型任务 四.假设与假设空间 五.假设的选择原则 六.机器学习的三要素 推荐文章 一.什么是机器学习 人工智能标准化白皮书(2018 ...

  4. 二叉树(1.二叉树的概念堆)

    二叉树 一.树 1.1树的概念 1.2结构 1.3相关的概念 1.4树的表示方法 二.二叉树 2.1二叉树的概念 2.2二叉树的存储结构 2.3二叉树的性质 2.4堆 2.4.1概念及性质 2.4.2 ...

  5. 二叉树介绍 ~ 概念、存储结构、性质

    二叉树介绍 ~ 概念.存储结构.性质 1.二叉树的概念 2.特殊二叉树 3.二叉树的存储结构 4.二叉树的性质 5.相关案例 1.二叉树的概念 一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由 ...

  6. SQL全方位攻略:之数据库历史、数据库基本概念和相关术语,以及常见的数据库类型介绍

    文章目录 1.数据库介绍 1.1 数据库历史 1.2 数据库基本概念和术语 1.2.1. 数据库 1.2.2. 数据库管理系统(DBMS) 1.2.3. 应用程序 1.2.4. 模式(Schema) ...

  7. 【数据结构之二叉树】——二叉树的概念及结构,特殊的二叉树和二叉树性质

    文章目录 一.二叉树的概念及结构 1.概念 2.现实中的二叉树 3. 特殊的二叉树: 3.二叉树的性质 二.二叉树练习题 总结 一.二叉树的概念及结构 1.概念 一棵二叉树是结点的一个有限集合,该集合 ...

  8. 【算法】红黑树(二叉树)概念与查询(一)

    诶,算法这个东西,其实没那么简单,但是也没那么难. 红黑树,其实已经有很多大佬都整理过了,而且文章博客都写得超好,我写这篇文章的目的是:自己整理一次,这些知识才是自己的,否则永远是别人的~ 该系列已经 ...

  9. 二叉树的概念、分类和性质

    1.二叉树的概念 二叉树:每个节点最多有两个分支(分支的度小于2)的树结构,可为空树. 根节点:一棵树最上面的节点称为根节点. 左右子树:某个节点的左分支叫做左子树,右分支叫做右子树. 左右孩子:某个 ...

最新文章

  1. IOS常用代码总结 - 第三方库部分
  2. go linux环境搭建,Linux 下 Go 环境搭建以及 Gin 安装
  3. JMeter接口测试通过企业微信API记录(二)创建审批接口并测试
  4. Spring常问的面试
  5. 【spring-session】错误:No bean named 'springSessionRepositoryFilter' available
  6. LIRE的使用:搜索相似的图片
  7. 人性”的三张图,改变无数人!
  8. 服务器清洗项目,服务器带电清洗流程和注意事项
  9. 利用CSS3制作网页动画
  10. 编码器 x264vfw
  11. 菜鸟驿站进军万亿社区市场
  12. 使用 Kitten 开发一款趣味成语接龙游戏
  13. virtual memory exhausted: Cannot allocate memory 解决办法 命令分配交换空间
  14. 免费不限速不限存储的网盘推荐
  15. 工作如何避免情绪内耗
  16. 多线程批量检测未注册域名
  17. Spring 测试运行的时候提示 Unable to find a @SpringBootConfiguration 错误
  18. php图片上传为base64,php实现base64图片上传方式实例代码
  19. 简述计算机网络测试和故障诊断的发展趋势,网络测试和故障诊断
  20. 首届“网刃杯”网络安全大赛部分WP

热门文章

  1. Master主动向Slave发送binlog?还是Slave主动向Master要binlog?
  2. webplayer 设置加载图标和屏蔽右键
  3. python怎么做情感分析_如何用python进行情感分析
  4. 转贴: mysql-5.7.20 编码由 utf8 改为 utf8mb4
  5. 使用GDAL下载并转换SRTM的DEM数据(二)
  6. JavaWeb——response与request
  7. Flex入门的好书——《Flex3 Cookbook 中文版》
  8. Android学习系列--App缓存管理
  9. Zend Framework 简介
  10. linux 脚本 if then,shell学习之if-then语法