数据结构 三:树(Tree)
一、树(Tree)的定义
1、树(Tree)是n(n≥0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:
(1)有且有一个特定的称为根(Root)的结点;
(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、…、Tm,其中每一个集合本身又是一棵树,并且称为根的子树(Sub Tree)。
图3.1
二、结点的分类
1、结点拥有的子树数称为结点的度(Degree)。
2、度为0的结点称为叶结点(Leaf)或终端结点。
3、除根结点之外,分支结点也称为内部结点。
4、树的度是树内各结点的度的最大值。
三、结点间的关系
1、结点的子树的根称为该结点的孩子(Child),该结点称为孩子的双亲(Parent)。
2、同一个双亲的结点之间互称为兄弟(Sibling)。
3、结点的祖先是从根到该结点所经分支的上的所以结点。
4、以某结点为根的子树中的任一结点都称为该结点的子孙。
四、树的其他概念
1、结点的层次(Level)从根开始定义起,根为第一层,根的孩子为第二层。
2、双亲在同一层上的结点互为堂兄弟。
3、树中结点的最大层次称为树的深度(Depth)或高度。4、有序树:如果将树中结点的各个子树看成从左到右是有序的,不能呼唤的,则称该树为有序树,否则称为无需树。
5、森林(Forest)是m(m≥0)棵互不相交的树的集合。对于树中每个结点而言,其子树的集合即为深林。
数据结构 三:树(Tree)相关推荐
- 【数据结构】初入数据结构的树(Tree)以及Java代码实现(一)
初入数据结构的树(Tree)以及Java代码实现(一) 树的定义 为什么叫树? 树型结构的元素具有一对多关系 树的定义 树的一些基本概念 树的结点 后代,祖先 子树.空树 树的度与高(深度),结点的度 ...
- 【数据结构】树Tree
Tree 树:树描述的是一个父子关系,必须有明确的父子关系的才叫树 二叉树的结点相关计算公式 树中的一些概念: 节点: 表示树中的每个元素 根节点: 树最上面的那一盏明灯就是根节点 叶子节点: 指的是 ...
- 『数据结构与算法』解读树(Tree)和二叉树(Binary Tree)!
『数据结构与算法』解读树(Tree)和二叉树(Binary Tree)! 文章目录 一. 树 1.1. 树的定义 1.2. 树的基本术语 1.3. 树的性质 二. 二叉树 2.1. 二叉树的定义 2. ...
- 数据结构树(Tree)详解
树(tree) 树(Tree)的基本概念 定义 树的结构 二叉树 二叉树的特点 满二叉树 完全二叉树 二叉查找树(Binary Search Tree - BST,又称二叉排序树.二叉搜索树) AVL ...
- 数据结构实验三 树的遍历生成树
广州大学学生实验报告 开课实验室:计算机科学与工程实验(电子楼418A) 2019年4月19日 学院 计算机科学与教育软件学院 年级.专业.班 计算机科学与技术 姓名 学号 实验课程名称 数据 ...
- 数据结构显示树的所有结点_您需要了解的有关树数据结构的所有信息
数据结构显示树的所有结点 When you first learn to code, it's common to learn arrays as the "main data struct ...
- 心中有“树”:数据结构之树详解
文章目录 前言 (一)树的基础定义与表示 1 树的定义 2 树的图示 3 树的逻辑结构表示法 (二)二叉树 1 二叉树定义 2 二叉树示意图 3 程序实现 (1)节点定义 (2)二叉树的先序遍历 (3 ...
- (八)数据结构之“树”
数据结构之"树" 树是什么? 什么是深度/广度优先遍历? 深度优先遍历算法口诀 广度优先遍历算法口诀 二叉树的先中后序遍历 二叉树是什么 先序遍历算法口诀(根 > 左 > ...
- java 二叉树 红黑树_常见数据结构(二)-树(二叉树,红黑树,B树)
常见数据结构(二)-树(二叉树,红黑树,B树) 标签: algorithms [TOC] 本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自course ...
- 数据结构之树(JAVA实现)
目录 1. 什么是树 2. 树的性质 3. 树的存储方式 3.1 双亲表示法: 3.2 孩子表示法 3.3 孩子兄弟表示法 4. 树的JAVA实现 4.1 双亲表示法: 4.2 孩子表示法: 4.3 ...
最新文章
- Axure中的原型如何导出成为HTML5源码
- altium designer2020中文版
- Process类中与内存相关的属相不能更新!
- 百度商业大规模微服务分布式监控系统-凤睛
- 三十四、Scrapy中的CrawlSpider
- 前端学习(752):全局变量和局部变量
- 【Next Permutation】cpp
- [导入]用ASP.Net(C#)连接Oracle数据库的方法
- jQuery点击图片弹出大图遮罩层
- mysql 勒索病毒怎么恢复_敲诈者病毒解密恢复 勒索病毒数据库恢复 数据库中病毒解密恢复...
- winpe硬盘安装linux,winpe+linux安装到移动硬盘
- This scheduler instance (XXXXX) is still active but was recovered by another
- 地图坐标转换-火星坐标
- js 移动号码,座机号码,座机转分机号码验证
- m4a怎么转换成mp3,m4a转mp3的简单方法
- HashMap与ConcurrentHashMap面试要点
- 测试环境Hosts设置
- html中表格实现在页面居中显示,html中怎么把表格居中
- 美团2021校招笔试-编程题-第10场
- Ubuntu18.04修复grub引导
热门文章
- 云端守望者(下):十八般武艺
- HDLBITS笔记15:组合逻辑之7420芯片
- 谷歌Extensions安装进手机浏览器里
- 咱就是说,方言配音的软件能有多少
- 使用sessionStorage实现页面间传值与传对象
- python (win32com) 批量删除 word (docx, doc) 中所有页眉、页脚 (Word.Application, Word.Basic)
- [战略]对空间_日志风格_日志分类_日志标记_的整体说明
- Unity 窗口制作 调整窗口大小 动态调整UI大小 窗口拖拽 UI拖拽
- Python中的多线程是假的多线程
- 肖 sir_就业课__014mysql讲解