二叉树的概念和基本术语
二叉树简单说就是有两个子树的树
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
二叉树的概念和基本术语相关推荐
- c++用二叉树表示代数表达式_C语言:数据结构-二叉树的定义和基本术语和二叉树的性质...
二叉树的定义和基本术语 (1)二叉树的定义 二叉树(Binary Tree):每个结点至多有两棵子树,且子树有左.右之分.在二叉树中不含度数大于2的结点. 二叉树的递归定义为:二叉树或者是一棵空树,或 ...
- 树结构之树和二叉树的概念以及如何用面向对象思想进行结构定义01
树和二叉树的概念及结构定义 前言 一.树的基本概念及代码层面如何定义 1.树的概念 2.代码层面树如何定义 二.二叉树的基本概念及代码层面如何定义 1.二叉树的概念 2.代码层面二叉树如何定义 3.二 ...
- 机器学习的基本概念和相关术语
文章目录 一.什么是机器学习 二.机器学习的相关术语 三.机器学习的典型任务 四.假设与假设空间 五.假设的选择原则 六.机器学习的三要素 推荐文章 一.什么是机器学习 人工智能标准化白皮书(2018 ...
- 二叉树(1.二叉树的概念堆)
二叉树 一.树 1.1树的概念 1.2结构 1.3相关的概念 1.4树的表示方法 二.二叉树 2.1二叉树的概念 2.2二叉树的存储结构 2.3二叉树的性质 2.4堆 2.4.1概念及性质 2.4.2 ...
- 二叉树介绍 ~ 概念、存储结构、性质
二叉树介绍 ~ 概念.存储结构.性质 1.二叉树的概念 2.特殊二叉树 3.二叉树的存储结构 4.二叉树的性质 5.相关案例 1.二叉树的概念 一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由 ...
- SQL全方位攻略:之数据库历史、数据库基本概念和相关术语,以及常见的数据库类型介绍
文章目录 1.数据库介绍 1.1 数据库历史 1.2 数据库基本概念和术语 1.2.1. 数据库 1.2.2. 数据库管理系统(DBMS) 1.2.3. 应用程序 1.2.4. 模式(Schema) ...
- 【数据结构之二叉树】——二叉树的概念及结构,特殊的二叉树和二叉树性质
文章目录 一.二叉树的概念及结构 1.概念 2.现实中的二叉树 3. 特殊的二叉树: 3.二叉树的性质 二.二叉树练习题 总结 一.二叉树的概念及结构 1.概念 一棵二叉树是结点的一个有限集合,该集合 ...
- 【算法】红黑树(二叉树)概念与查询(一)
诶,算法这个东西,其实没那么简单,但是也没那么难. 红黑树,其实已经有很多大佬都整理过了,而且文章博客都写得超好,我写这篇文章的目的是:自己整理一次,这些知识才是自己的,否则永远是别人的~ 该系列已经 ...
- 二叉树的概念、分类和性质
1.二叉树的概念 二叉树:每个节点最多有两个分支(分支的度小于2)的树结构,可为空树. 根节点:一棵树最上面的节点称为根节点. 左右子树:某个节点的左分支叫做左子树,右分支叫做右子树. 左右孩子:某个 ...
最新文章
- IOS常用代码总结 - 第三方库部分
- go linux环境搭建,Linux 下 Go 环境搭建以及 Gin 安装
- JMeter接口测试通过企业微信API记录(二)创建审批接口并测试
- Spring常问的面试
- 【spring-session】错误:No bean named 'springSessionRepositoryFilter' available
- LIRE的使用:搜索相似的图片
- 人性”的三张图,改变无数人!
- 服务器清洗项目,服务器带电清洗流程和注意事项
- 利用CSS3制作网页动画
- 编码器 x264vfw
- 菜鸟驿站进军万亿社区市场
- 使用 Kitten 开发一款趣味成语接龙游戏
- virtual memory exhausted: Cannot allocate memory 解决办法 命令分配交换空间
- 免费不限速不限存储的网盘推荐
- 工作如何避免情绪内耗
- 多线程批量检测未注册域名
- Spring 测试运行的时候提示 Unable to find a @SpringBootConfiguration 错误
- php图片上传为base64,php实现base64图片上传方式实例代码
- 简述计算机网络测试和故障诊断的发展趋势,网络测试和故障诊断
- 首届“网刃杯”网络安全大赛部分WP
热门文章
- Master主动向Slave发送binlog?还是Slave主动向Master要binlog?
- webplayer 设置加载图标和屏蔽右键
- python怎么做情感分析_如何用python进行情感分析
- 转贴: mysql-5.7.20 编码由 utf8 改为 utf8mb4
- 使用GDAL下载并转换SRTM的DEM数据(二)
- JavaWeb——response与request
- Flex入门的好书——《Flex3 Cookbook 中文版》
- Android学习系列--App缓存管理
- Zend Framework 简介
- linux 脚本 if then,shell学习之if-then语法