zoukankan      html  css  js  c++  java
  • 树与二叉树——定义

    树形结构是一类重要的非线性结构数据结构。其中以树和二叉树最为常用,直观看来,树是以分支关系定义的层次结构。

    树的定义与基本术语

      树的结构定义是一个递归定义,即在树的定义中又用到树的概念。除了树形表示外,树形结构还有广义表表示、文氏图表示(反映集合包含关系)和凹人表示(类似一本书的目录)等其他表示形式。

    下面给出树的一些基本术语,主要来源于家谱和树:

    ①结点(node)

    它包含数据项即指向其他结点的分支。为方便起见,每个数据项用单个字母表示。

    ②节点的度(degree)

    它是结点所拥有的子树棵数。

    ③叶子结点(leaf)

    即度为0的结点,称为叶子或中断结点。

    ④分支结点(branch)

    度不为0的结点称为非终端结点或分支结点。

    ⑤子女节点(child)

    若节点x有子树,则子树的根节点即结点x的子女。

    ⑥双亲节点(parent)

    若节点x有子女,它即子女的双亲。

    ⑦兄弟结点(sibling)

    同一双亲的子女互称为兄弟。

    ⑧祖先结点(ancestor)

    从根节点到该结点所经分支上的所有结点。

    ⑨子孙结点(descendant)

    某一结点的子女,以及这些子女都是该节点的子孙。

    ⑩结点所处层次(level)

    简称结点的层次,即从根到该结点所经路径上的分支条数。

    ⑪树的高度(depth)

    树中结点所处的最大层次。空树的高度为0,只有一个根结点的树的高度为1。

    ⑫树的度(degree)

    树中结点所处的最大层次。

    ⑬有序树

    树中结点的各棵子树T0,T1,......是有次序的,即有序树。

    ⑭无序树

    树中结点的各棵子树之间的次序是不重要的,可以互相交换位置。

    ⑮森林(forest)

    m(m>=0)棵树的集合在自然界中,树与森林是两个不同的概念,但在数据结构中,它们之间的差别很小。删去一棵非空树的根结点,树就变成森林;反之,若增加一个根结点,让森林中每一棵树的根结点都变成它的子女,森林就成为一棵树。

    二叉树的定义

      二叉树(binary tree)的定义也是以递归的形式给出的:一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根结点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。

    二叉树的特点是每个结点最多有两个子女。也就是说,在二叉树中不存在度大于2的结点,并且二叉树的子树有左右之分,其子树的次序不能颠倒,因此,它可能有5种不同的形态。

    描述树的所有术语对于二叉树都适用。

    v、

      

  • 相关阅读:
    每天一点正能量
    嵌入式开发-写在这里作为参照
    产品设计与开发 之 开发流程和组织架构
    产品设计与开发 之 开头语
    机器视觉基础
    项目与运营
    3.Linux如何管理分区
    2.Linux系统之硬盘与分区基础知识
    1.Linux入门介绍
    shell笔记
  • 原文地址:https://www.cnblogs.com/tenjl-exv/p/7617589.html
Copyright © 2011-2022 走看看