数据结构4

树型结构:

    1、树的基本概念

        一种层次关系的数据结构(一对多)

        有且仅有一个特定的节点,该节点没有前驱指针,被称为根节点

        剩余的n个互不相交的子集组成,其中的每一个子集都是一棵树,被称为根节点的子树

        注意: 树型结构具有递归性(树中有树)

    2、树的表示方法: 倒悬树、嵌套法、凹凸法

    3、树的专业术语(不同资料略有不同)

        节点: 组成树的基础元素,同时它也可以一棵树

        节点的度: 该节点子树的数量

        节点的层次: 根节点的层次为1,它的孩子层次为2,...,以此类推

        树的度: 树中节点的数量

        树的深度: 树的最大层次树

        叶子节点: 节点的度为0的节点

        双亲和孩子: 节点的子树都称为该节点的孩子节点,该节点是双亲节点

        兄弟节点: 具有同一个双亲节点

        祖先节点: 从根节点出发到该节点,中间经过的所有节点

        子孙节点: 一个节点的子树中的任意一个节点

        堂兄弟节点: 双亲节点在同一层

        森林: n个互不相交的树的集合称为森林

    4、树的存储

        树可以顺序存储,也可以链式存储,还可以混合存储,由于存储的信息不同,

        有以下三种常见表示方式

        双亲表示法(顺序):

            位置    data    双亲的位置

            0       A       -1

            1       B       0

            2       C       0

            3       D       1

            4       E       1

            5       F       2

            6       G       3

            7       H       4

            8       I       4

            优点: 方便找到双亲

            缺点: 不方便找孩子

        

        孩子表示法

            顺序: 没有孩子也要申请数组,所以浪费空间

                位置    data    sub_arr(存储孩子位置的数组)

                0       A       1,2

                1       B       3,4

                2       C       5

                3       D       6

                4       E       7,8

                5       F

                6       G

                7       H

                8       I

            混合(链式+顺序): 节约空间

                位置    data    ListHead

                0       A       1->2->N

                1       B       3->4->N

                2       C       5->N

                3       D       6->N

                4       E       7->8->N

                5       F

                6       G

                7       H

                8       I

                优点: 方便找到孩子

                缺点: 不方便找双亲

        兄弟表示法:

            双亲只存储第一个孩子节点,然后链式指向所有的兄弟节点

            优点: 可以方便查询到所有的兄弟节点

            缺点: 查询双亲比较麻烦

        总结: 普通树不常用,一般会转换成二叉树使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值