树
2020-09-01 本文已影响0人
sakura579










非线性结构 结点存在 一对多关系

递归特性:当前的每一层 和 它的上一层都有着类似的结构
每一个子结构 和其父结构 都是类似的


结点:这种结构中 体现数据信息 以及 逻辑关系的单元

结点的度:结点引出的分支的个数。

树的度:这棵树中所有结点最大分支数。

叶子结点:度为0的结点

有直接关系的上层结点:双亲
有直接关系的下层结点:孩子

双亲结点往上走的结点 都是祖先

孩子 ,孩子的孩子
结点所引出的结点都是子孙

有同一个双亲结点 的结点之间 互称为 兄弟

双亲结点互为兄弟 的孩子 互为 堂兄弟

树的高度(深度)是这棵树的 所具有的最大 层次数
结点的高度:从最底层的叶子开始 往上计算
结点的深度:从根节点开始 往下计算


树的生长法









有两个分量,一个存储数据信息,另一个存储指向其父节点的数组下标
A1是根节点,没有父节点 ,分量设置为 -1 作为特殊标记

pIdx
p 是parent 父母 双亲结点



保存每个结点 指向其孩子结点 的关系,孩子结点的个数是不确定的。
需要两个分量 ,一个保存数据域,另一个保存指向某个链表的第一个结点的指针
链表的各个结点中存储其孩子结点在数组中的位置。
需要设计两个数据结构体类型,一个是链表的结构体类型,另一个是数的结构体类型
Branch 分支(路径)
( cIdx 存储的是 指向孩子结点的数组下标)
既然是链表结点,就需要 next分量,指向其下一个链表结点的指针
孩子存储结构
