• 数据结构(六)树


    定义

     
     

    结点分类

     

    结点的关系

     
     

    森林

    m棵互不相交的树的集合
     

    树与线性表结构对比

     

    存储结构

     

    双亲表示法

    优先记录每个节点的双亲(双亲是必有的,除了根节点),再针对特殊的需要,增加子节点或兄弟节点,重点在于寻找双亲节点,时间复杂度为O(1)
    该方法结合了数组和链表,以数组为基础存储结构,每个元素再用链表的方式记录其双亲节点
     

    孩子表示法

    以这棵树为例
     
     
    把每个结点的孩子结点排列起来(一般是从左往右),以单链表作为存储结构,则n个结点就拥有n个孩子链表,把n个单链表的头指针组成一个数组
     
    用该方法得到的数据结构如下图所示
     

    孩子兄弟表示法

    定义

    任意一棵树,它的结点的第一个孩子如果存在就是唯一的,它的又兄弟如果存在也是唯一的。因此,我们设置两个指针,分别指向该结点的第一个孩子和此节点的兄弟
     
    一棵树的结构可以用下图来表示
    这种情况下,就催生出了著名的二叉树
  • 相关阅读:
    D. Beautiful Array
    C. Magic Ship Educational Codeforces Round 60 (Rated for Div. 2)
    CCPC-Wannafly Winter Camp Day3 小清新数论(莫比乌斯反演反演加杜教筛)
    杜教筛
    Algorithms Weekly 3
    Algorithms Weekly 2
    Algorithms Weekly 1
    KNN算法实现数字识别
    2019总结
    2019 Google Kickstart Round H
  • 原文地址:https://www.cnblogs.com/ulysses-you/p/6961055.html
Copyright © 2020-2023  润新知