树是什么?

2024-01-02 10:18
文章标签 树是

本文主要是介绍树是什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

是一种非线性结构,存储的是具有“一对多”关系的数据元素的集合

下面列举一些树的相关定义

  • 结点:树中的每一个数据元素都被成为“结点”
    • 根结点:每一个非空树有且只有一个根节点(如果一个结点没有父结点,那么它就是这棵树的根结点)
    • 叶子结点:如果结点没有任何子结点,那么此结点称为叶子结点(叶结点),其度为0
  • 子树:其实就是以根结点的子结点为根节点组成的树(这里就可以认为,树是由根结点和子树组成)
  • 空树:空树中没有结点
  • 结点的度:对于一个结点,拥有的子树的个数就是结点的度
  • 结点的层次:举例:根结点在第一层,然后其子结点在第二层,字结点的子结点在第三层,依次类推。。。。
  • 有序树、无序树:树种结点的子树,从左往右,如果有规定,那么这棵树就是有序树,否则就是无序树
  • 森林:互不相交的树组成森林,举例:如果一个根节点下面有三个子结点,那么这三个子结点就是三个子树,这三个子树互相相交,就组成了森林。

二叉树

定义

  • 是有序树
  • 树中的每个结点的度最大为2,即可以是0、1或者2

性质

  • 二叉树中,第 i 层最多有 2i-1 个结点
  • 假设二叉树的深度为 K ,那么二叉树最多有 2K-1 个结点
二叉树又可以细分:满二叉树、完全二叉树
  • 满二叉树:除了叶子结点,每个结点的度都为 2,则此二叉树称为满二叉树。
    满二叉树中,第 i 层有 2i-1 个结点
    假设满二叉树的深度为 K ,那么二叉树有 2K-1 个结点
    满二叉树中不存在度为 1 的节点,每一个分支点中都两棵深度相同的子树,且叶子节点都在最底层。

  • 完全二叉树:在二叉树中除去最后一层节点,其余看起来是满二叉树,且最后一层的结点依次从左到右分布,那么这个二叉树就是完全二叉树。

这篇关于树是什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/562155

相关文章

解释:有序树是什么意思?

目录 有序树的特性: 例子: 总结 🌟 嗨,我是命运之光! 🌍 2024,每日百字,记录时光,感谢有你一路同行。 🚀 携手启航,探索未知,激发潜能,每一步都意义非凡。 有序树 是指在树的结构中,节点的子节点是按照一定顺序排列的树。这个顺序在定义树时就被固定,不能随意更改。 有序树的特性: 子节点的顺序:有序树中的每个节点的子节点有一个固定的顺序,从左到右依

kruskal求得的生成树是最小生成树的证明

kruskal求得的生成树是最小生成树的证明 给一带权连通的树一定会有至少一棵生成树,那么这些生成树中间必然会会存在至少一棵最小生成树。  假设T是用kruskal求出来的最小生成树,而U是这个图的最小生成树,如果U == T,那么证明结束。  然而如果T != U,那么至少存在一条边在T中,不在U中。那么我们希望证明T和U中所有边的权值之和是相等的。假设存在k条边存在T中不存在U

vue源码学习——虚拟dom树是如何定义的

情景:相信通过前面的学习你已经知道了虚拟dom为什么会被构思,那么接下来你好奇的应该是作者该如何定义这个虚拟dom vnode基类的定义(源码地址https://github.com/vuejs/vue/blob/52719ccab8fccffbdf497b96d3731dc86f04c1ce/src/core/vdom/vnode.js) export default class VNod

数据结构中的平衡搜索树 --- AVL树是怎样进行旋转处理的?(平衡因子版本)

目录 前言         搜索二叉树 AVL树 节点的定义 插入 旋转 前言 搜索二叉树 搜索二叉树 又称 二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树 示例: 具体可以查看搜索二叉树  但是二叉搜

设备树(1)-设备树是什么?设备树基础概念及语法

1.简介 设备树:device tree DTS:设备树源码文件,采用树形结构描述板级信息,例如IIC、SPI等接口接了哪些设备 DTSI:设备树头文件,描述SOC级信息,例如几个CPU、主频多少、各个外设控制信息等 DTB:DTS编译后得到的二进制文件 DTC:设备树工具 2.设备树使用 DTC工具源码: scripts/dtc目录 DTC工具编译:make all或make dtbs

Mysql索引-B+树是如何生长的

点击上方蓝色“石杉的架构笔记”,选择“设为星标”回复“PDF”获取独家整理的学习资料! 长按扫描上方免费领取 分享概要 本次分享儒猿专栏《从零开始带你成为MySQL实战优化高手》中Mysql索引的内容。本次会先从一个数据页中如何存储和查询数据开始,拓展到多个数据页中查询数据,分析无索引查询时的低效率问题,然后通过页分裂过渡到主键目录以及索引页相关内容,见证一颗索引树是如何一步步生长起来