树的基本概念

  • 树的定义
  • 树的特点
  • 基本术语
  • 树的性质

树的定义

树是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)

树的基本概念(定义、基本术语、性质)相关推荐

  1. 树的常见概念,二叉树的性质

    什么是树 树是一种非线性数据结构,它是由n(n>=0)个有限结点组成的一个具有层次的关系集合.它有以下几个特点: List item有一个特殊的节点,称为根节点,根节点没有前驱节点 除根节点,其 ...

  2. 【数据结构】 树与二叉树的基本概念、结构特点及性质

    前言:本章内容主要是数据结构中树与二叉树的基本概念.结构特点及性质的引入. 文章目录 树的概念 树的特点: 树的常用术语: 树的表示: 代码创建: 树在实际中的应用: 二叉树的概念 特殊的二叉树 满二 ...

  3. 考研复习之数据结构笔记(九)树(上)(树和二叉树的概念、特征、性质及相关实例)

    目录 一.树的基本概念和术语 1.1 基本定义与特点 (1)基本定义: (2)基本特点 1.2 树的基本术语 1.3 树的基本性质 二.二叉树 2.1 二叉树的定义与性质 (1)基本概念 (2)与树的 ...

  4. 数据结构之树和二叉树的定义和性质

    树和二叉树的定义和性质 树 思维导图: 树的基本定义: 树的基本术语: 树的性质: 二叉树: 二叉树的定义: 二叉树的5中形态: 二叉树的几种特殊形态: 满二叉树: 完全二叉树: 二叉排序树: 平衡二 ...

  5. 树的基本概念和2叉树中重要的几个性质

    1.树的基本概念 : 其中节点的度,叶节点,节点的层次 ,树的度,树的高度,节点的祖先是重点概念,我们要重点掌握以后会经常用到. 2.树的性质: 设树有n个节点,则树有n-1条边,设该树的节点的度为n ...

  6. 图的定义与术语 - 数据结构和算法54

    图的定义与术语 让编程改变世界 Change the world by program   在前边讲解的线性表中,每个元素之间只有一个直接前驱和一个直接后继,在树形结构中,数据元素之间是层次关系,并且 ...

  7. 哈夫曼树的基本概念及其构建(C++)

    哈夫曼树的基本概念: 在了解哈夫曼树的概念之前,我们要了解到的是带权路径长度的概念: 在实际应用当中,树中的结点往往都会被赋予某种意义的数值,这个数值就称为该结点的权: 从根结点到任意结点的路径长度( ...

  8. 树的基本概念以及java实现二叉树(二)

    前言 本文是我在学习了树后作的总结文章,接上篇文章,本节大致可以总结为: 二叉树的遍历与实现(递归和非递归) 获取二叉树的高度和度 创建一棵二叉树 其他应用(层序遍历,复制二叉树,判断二叉树是否相等) ...

  9. 树的基本概念以及java实现二叉树(一)

    前言 作为一个程序员,要了解最基本的数据结构的.本文是我在学习了树后作的总结文章,本节大致可以总结为: 什么是树 树的基本性质(专有名词) 什么是二叉树 二叉树的基本性质 二叉树的存储结构 文章传送门 ...

最新文章

  1. matlab 读取WAV文件
  2. java图片16帧动画_Java实现帧动画的实例代码
  3. axios在IE下的兼容性处理
  4. MSFT Outlook VBA处理新邮件的方法
  5. TUN/TAP设备浅析(一) -- 原理浅析
  6. windows下修改tomcat的startup.bat脚本文件后台运行
  7. ROS功能包或其中一部分找不到的奇葩问题及对应解决方案
  8. 查看AIX系统cpu、内存、网卡、硬盘、HBA卡信息命令
  9. LeetCode 198. 打家劫舍(动态规划)
  10. 深度学习常用资料整理
  11. 威斯康星大学计算机科学教授,UW机器学习和数据科学活动吸引了国际知名的计算机科学家...
  12. Python量化交易平台开发教程系列4-事件驱动引擎原理和使用
  13. Java Ucase_VBScript字符串期函数(InStr、Left、Len、Mid、Replace、StrComp、UCase……)...
  14. java中小数后加f_在 Java 中,小数默认为 ,如果要指定 类型请在小数后加 F/f 。_学小易找答案...
  15. 解决element 分页组件,搜索过后current-page 绑定的数据变了,但是页面当前页码并没有变的问题
  16. 超声波测距模块HC-SR04详解(基于51单片机)
  17. elementui 打包后icon图标加载偶尔会乱码
  18. Java中创建对象的六个步骤 细分后(new关键字)对象头详细介绍
  19. 2020Java开发工程师面试题
  20. 学生管理系统(第一写)用C语言写,单链表实现,插入,查询,浏览,修改,删除的功能源码

热门文章

  1. 5V升压8.4V的2A充电电路芯片-PW4202
  2. element中组件el-autocomplete远程搜索之精确匹配和模糊匹配
  3. python 爬取贝壳的一些思路和方法设计(用地址找到小区名字)
  4. 任正非回忆华为港湾“战争与和平”
  5. The reference to entity “XX“ must end with the ‘;‘ delimiter.
  6. 低代码之间到底有些什么区别?对比编译型平台“iVX 无远 牛刀”以及接口型平台“明道 宜搭 简道 轻流 氚云 ”
  7. 熔断器-hystrix使用
  8. 当你程序运行出现错时~
  9. 华清远见上海中心22071班 9.21作业
  10. Linux平台常用终端指令合集【超级全】