树的定义

定义

除了一对一的线性结构,现实世界中其实还有许多一对多的情况,树就是一种一对多的数据结构。
树是n(n>=0)个结点的有限集。n=0时称为空树,在任意一颗非空树中:

  • 有且只有一个特定的称为根(root)的结点。
  • 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、...、Tm,
    其中每一个集合本身又是一棵树,并且称为根的子树。

结点分类

树的结点包含一个数据元素及若干指向其子树的分支,结点拥有的子树数称为结点的度。度为0的结点称为叶子结点或是终端结点。
度不为零的结点称为内部结点,树的度是树内各节点的度的最大值。

结点间关系

结点的子树的根称为该结点的孩子,相应的该结点称为孩子的双亲。同一个双亲的孩子之间互称为兄弟。
从根到该结点所经分支上的所有结点都是为该结点的祖先。同样的,以某一结点为根的子树中的任一结点都称为该结点的子孙。

树的其余概念

结点的层次从根开始定义起,根为第一层,根的孩子为第二层。树中结点的最大层次称为树的深度或高度。
如果将树中结点的各子树看成是从左到右有次序的,不能互换的,则称该树为有序树,否则称为无序树。
森林是m(m>0)棵互不相交的树的集合。

posted @   cd_along  阅读(232)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示