码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 树与二叉树堆:树


    目录

    树:

    树的概念:

     树的相关概念:

    1、结点的度:

    2、叶节点:度为0的节点

    3、非终端节点或分支节点:

    4、父节点和子节点:

    5、兄弟节点:

    6、树的度:

    7、树的层次或则结点的层次:

    8、堂兄弟节点:

    9、祖先节点:

    10、子孙节点:

    11、森林:

    树的结构与递归:

    树与非树的判断:

    树的实现: 

    树的实际运用:  


    树:

    树的概念:

    树是一种非线性的数据结构,它是由n (n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。

    • 有一个特殊的结点,称为根结点,根结点没有前驱结点
    • 除根结点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、...... Tm,其中每一个集合Ti(1<= i<=m)又是一棵结构与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有0个或多个后继
    • 简单来说,树是一种逻辑和物理上都不连续的数据结构 

    如图所示,就像是一种树形结构,但是注意!树形结构中,子树之间不能有交集,否则就不是树形结构 

     树的相关概念:

    在树的相关概念中,一般使用树和人类情缘关系的概念进行结合描述。

    1、结点的度:

    一个结点的子节点个数,这个不包括子结点的子节点!

    2、叶节点:度为0的节点

    3、非终端节点或分支节点:

    度不为0的节点,也因此所以树可以分为,根、叶节点、分支节点

    4、父节点和子节点:

    一个结点既可以是父亲结点也可以是孩子结点

    5、兄弟节点:

    同一个父节点的节点之间的相互称呼

    6、树的度:

    就看那个节点的度最大,那么这个节点的度就是所在树的度

    7、树的层次或则结点的层次:

    树的高度就是树的最大层次、且树的层次一般从1开始。

    8、堂兄弟节点:

    各自的父节点是兄弟节点

    9、祖先节点:

    因为没有单指,所以这个节点这条分支上都可以说是他的祖先节点

    10、子孙节点:

    子孙节点就是该的子节点衍生出去的节点都可以说苏该节点的子孙

    11、森林:

    多颗不相关不相交的树就叫森林。

    树的结构与递归:

                  

    如图所示,一个树一定是由一个根和多颗子树构成的,子树又可以变为一个根和更小的几个子树构成,直到拆解为叶节点,这种就是递归! 

    树与非树的判断:

    以上三者都不是树: 

    1. 子树是不相交的
    2. 除了根结点外,每个结点有且仅有一个父结点  

    树的实现: 

    树结构相对线性表就比较复杂了,要存储表示起来就比较麻烦了,既然保存值域,也要保存结点和结点之间的关系,实际中树有很多种表示方式如:双亲表示法,孩子表示法、孩子双亲表示法以及孩子兄弟表示法等。

    我们这里就简单的了解其中最常用的孩子兄弟表示法 ,也就是左兄弟又孩子表示法。

    • 左孩子是指 指向左边的第一个孩子,右兄弟是指 指向它右边的第一个兄弟 

                                       

    所以想要找一个节点的所有的子节点(不包括子节点的子节点),可以通过左孩子,然后在用左孩子的右兄弟开始遍历,一直遍历右兄弟,直到空为止

    树的实际运用:  


  • 相关阅读:
    IDaaS身份管理之属性映射和表达式
    Coupang走什么物流?Coupang火箭颜色什么意思?——站斧浏览器
    智慧粮仓粮库解决方案:视频+AI识别技术赋能,守护大国粮仓
    vue2axios的使用
    sklearn中make_blobs方法:聚类数据生成器
    mysql 字段用了关键字, 无法插入更新数据
    input显示当前选择的图片
    shell命令以及运行原理
    我们如何优化 Elasticsearch Serverless 中的刷新成本
    KubeSphere 在互联网医疗行业的应用实践
  • 原文地址:https://blog.csdn.net/2301_76445610/article/details/134540901
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号