zoukankan      html  css  js  c++  java
  • java数据结构-非线性结构之树

    一、树状图

    树状图是一种数据结构,它是由n(n>=1)个有限节点组成的具有层次关系的集合。因其结构看起来想个倒挂的树,即根朝上,叶子在下,故被称为“树”。

    特点:

    1. 每个节点有零个或多个子节点

    2. 没有父节点的节点称为根节点

    3. 每个非根节点有且只有一个父节点

    图示:


    二、树的种类

    1. 无序树:树中任意节点的子节点之间没有顺序关系,这种树也称为自由树。

    2. 有序树:树中任意节点的子节点之间有顺序关系。

    2.1 二叉树:每个节点最多含有两个子树的树称为二叉树。

    2.1.1 完全二叉树:对于一个二叉树,假设其深度为k(k>1)。除了第k层外,其他各层的节点数已达到最大值2^n-1(n那为深度),而第k层的节点自左向右依次连续紧密的                                                   排列,这样的树称为完全二叉树。

    2.1.2 满二叉树:是完全二叉树的一个特例,即完全二叉树的最后一层的叶子节点也已经达到了最大数(2^n-1)。

    2.2 霍夫曼树:带权路径最短的二叉树,又称为最优二叉树。

    2.3 B树

    三、树的相关术语

    1. 节点的度:一个节点含有的子树的个数称为该节点的度;

    2. 树的度:一棵树中,最大的节点的度称为树的度;

    3. 叶节点或终端节点:度为零的节点;

    4. 非终端节点或分支节点:度不为零的节点;

    5. 父亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;

    6. 孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;

    7. 兄弟节点:具有相同父节点的节点互称为兄弟节点;

    8. 节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;

    9. 树的高度或深度:树中节点的最大层次;

    10. 堂兄弟节点:父节点在同一层的节点互为堂兄弟;

    11. 节点的祖先:从根到该节点所经分支上的所有节点;

    12. 子孙:以某节点为根的子树中任一节点都称为该节点的子孙。

    13. 森林:由m(m>=0)棵互不相交的树的集合称为森林;

  • 相关阅读:
    2018山东省赛补题
    USACO 2006 November Gold Corn Fields /// 状压 oj23941
    East Central North America 2006 Hie with the Pie /// 状压dp oj22470
    USACO 2003 Fall Orange Cow Exhibition /// 负数01背包 oj22829
    UASCO Cow Pedigrees /// oj10140
    滑雪 矩阵中的最长上升路径 /// 记忆化DFS || DP oj22919
    十四届华中科大赛补题
    USACO 2007 February Silver The Cow Lexicon /// DP oj24258
    POJ 3252 区间内一个数的二进制中0的数量要不能少于1的数量(数位DP)
    HDU 4734 F(x) (数位DP)
  • 原文地址:https://www.cnblogs.com/marcotan/p/4256901.html
Copyright © 2011-2022 走看看