树的基本概念(定义、基本术语、性质)
树的基本概念
- 树的定义
- 树的特点
- 基本术语
- 树的性质
树的定义
树是n(n >=0)个节点的有限集。n = 0时,为空树。
任意一棵非空树应满足:
①、有且仅有一个特定的成为根的结点。
②、当n>1时,其余结点可分为m(m>0)个互不相交的有限集,其中每个集合本身又是一棵树,并成为根的子树。
树的特点
1、树的根结点没有前驱,除根结点外所有的结点有且只有一个前驱。
2、树中所有结点可以有零个或多个后继。
树时一种递归的数据结构,是逻辑结构,也是分层结构。
n个结点的树中有n-1条边。
基本术语
看结点Q:从A到Q的唯一路径上任意节点,成为Q的祖先。
E是Q的祖先,Q是E的子孙,J是Q的双亲,P和Q是兄弟
结点的度:一个结点的孩子的个数就是结点的度
树的度:树中结点最大的度称为树的度
分支结点:度大于0的结点称分支节点(又称非终端结点)
叶子结点:度为0的结点称叶子结点(又称终端结点)
结点的层次:从树根开始定义,根节点为第一层,它的子节点为第二层,以此类推。
结点的深度:从根节点开始自定向下逐层累加。
结点的高度:从叶节点开始自底向上逐层累加。
树的高度(或深度):书中结点的最大层数。
有序树:树中结点的各子树从左到右是有次序的,不能互换
无序树:树中结点的各子树没有次序,可以互换
路径:两结点之间所经过的结点序列构成路径
路径长度:是路径上所经过的边的个数
森林:m(m>=0)棵互不相交树的集合。
树的性质
1、树中的结点数 = 所有结点的度数 (边数)+ 1;
2、度为m的树中第i层上最多有 mi-1 个结点;
m叉树第i层至多有mi-1 个结点;
3、度为m的树至少有一个结点的度 = m,至少有m + 1个结点
m叉树允许所有结点的度<m,可以是空树
4、高度为h的m叉树至多有(mh - 1 )/(m - 1)个结点
高度为h的m叉树至少有n个结点
高度为h,度为m的 树至少 h+m-1个结点
5、具有n个结点的m叉树的最小高度为 logm(n(m-1)+1)
树的基本概念(定义、基本术语、性质)相关推荐
- 树的常见概念,二叉树的性质
什么是树 树是一种非线性数据结构,它是由n(n>=0)个有限结点组成的一个具有层次的关系集合.它有以下几个特点: List item有一个特殊的节点,称为根节点,根节点没有前驱节点 除根节点,其 ...
- 【数据结构】 树与二叉树的基本概念、结构特点及性质
前言:本章内容主要是数据结构中树与二叉树的基本概念.结构特点及性质的引入. 文章目录 树的概念 树的特点: 树的常用术语: 树的表示: 代码创建: 树在实际中的应用: 二叉树的概念 特殊的二叉树 满二 ...
- 考研复习之数据结构笔记(九)树(上)(树和二叉树的概念、特征、性质及相关实例)
目录 一.树的基本概念和术语 1.1 基本定义与特点 (1)基本定义: (2)基本特点 1.2 树的基本术语 1.3 树的基本性质 二.二叉树 2.1 二叉树的定义与性质 (1)基本概念 (2)与树的 ...
- 数据结构之树和二叉树的定义和性质
树和二叉树的定义和性质 树 思维导图: 树的基本定义: 树的基本术语: 树的性质: 二叉树: 二叉树的定义: 二叉树的5中形态: 二叉树的几种特殊形态: 满二叉树: 完全二叉树: 二叉排序树: 平衡二 ...
- 树的基本概念和2叉树中重要的几个性质
1.树的基本概念 : 其中节点的度,叶节点,节点的层次 ,树的度,树的高度,节点的祖先是重点概念,我们要重点掌握以后会经常用到. 2.树的性质: 设树有n个节点,则树有n-1条边,设该树的节点的度为n ...
- 图的定义与术语 - 数据结构和算法54
图的定义与术语 让编程改变世界 Change the world by program 在前边讲解的线性表中,每个元素之间只有一个直接前驱和一个直接后继,在树形结构中,数据元素之间是层次关系,并且 ...
- 哈夫曼树的基本概念及其构建(C++)
哈夫曼树的基本概念: 在了解哈夫曼树的概念之前,我们要了解到的是带权路径长度的概念: 在实际应用当中,树中的结点往往都会被赋予某种意义的数值,这个数值就称为该结点的权: 从根结点到任意结点的路径长度( ...
- 树的基本概念以及java实现二叉树(二)
前言 本文是我在学习了树后作的总结文章,接上篇文章,本节大致可以总结为: 二叉树的遍历与实现(递归和非递归) 获取二叉树的高度和度 创建一棵二叉树 其他应用(层序遍历,复制二叉树,判断二叉树是否相等) ...
- 树的基本概念以及java实现二叉树(一)
前言 作为一个程序员,要了解最基本的数据结构的.本文是我在学习了树后作的总结文章,本节大致可以总结为: 什么是树 树的基本性质(专有名词) 什么是二叉树 二叉树的基本性质 二叉树的存储结构 文章传送门 ...
最新文章
- matlab 读取WAV文件
- java图片16帧动画_Java实现帧动画的实例代码
- axios在IE下的兼容性处理
- MSFT Outlook VBA处理新邮件的方法
- TUN/TAP设备浅析(一) -- 原理浅析
- windows下修改tomcat的startup.bat脚本文件后台运行
- ROS功能包或其中一部分找不到的奇葩问题及对应解决方案
- 查看AIX系统cpu、内存、网卡、硬盘、HBA卡信息命令
- LeetCode 198. 打家劫舍(动态规划)
- 深度学习常用资料整理
- 威斯康星大学计算机科学教授,UW机器学习和数据科学活动吸引了国际知名的计算机科学家...
- Python量化交易平台开发教程系列4-事件驱动引擎原理和使用
- Java Ucase_VBScript字符串期函数(InStr、Left、Len、Mid、Replace、StrComp、UCase……)...
- java中小数后加f_在 Java 中,小数默认为 ,如果要指定 类型请在小数后加 F/f 。_学小易找答案...
- 解决element 分页组件,搜索过后current-page 绑定的数据变了,但是页面当前页码并没有变的问题
- 超声波测距模块HC-SR04详解(基于51单片机)
- elementui 打包后icon图标加载偶尔会乱码
- Java中创建对象的六个步骤 细分后(new关键字)对象头详细介绍
- 2020Java开发工程师面试题
- 学生管理系统(第一写)用C语言写,单链表实现,插入,查询,浏览,修改,删除的功能源码
热门文章
- 5V升压8.4V的2A充电电路芯片-PW4202
- element中组件el-autocomplete远程搜索之精确匹配和模糊匹配
- python 爬取贝壳的一些思路和方法设计(用地址找到小区名字)
- 任正非回忆华为港湾“战争与和平”
- The reference to entity “XX“ must end with the ‘;‘ delimiter.
- 低代码之间到底有些什么区别?对比编译型平台“iVX 无远 牛刀”以及接口型平台“明道 宜搭 简道 轻流 氚云 ”
- 熔断器-hystrix使用
- 当你程序运行出现错时~
- 华清远见上海中心22071班 9.21作业
- Linux平台常用终端指令合集【超级全】