会飞的蝌蚪君

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

树的定义

结点分类

基本概念:度、叶结点或者称终端结点、非终端结点或者称分支结点(除了根结点外,分支结点也称作内部结点)

 

结点间的关系

孩子、双亲、兄弟、子孙

 

树的其他相关概念

结点的层次、树的深度或者高度、序树、无序树、森林

 

树的抽象数据类型

 

树的存储结构

综合顺序存储结构和链式存储结构,介绍三种不同的表示方法:

1.双亲表示法:

思路是:根结点--(firstchild)—》长子 ---(rightsib)--》右兄弟(根结点的次子)

                双亲《----(parent)----长子

   

概念:data(数据域)、parent(指针域)、firstchild(长子域)、rightsib(右兄弟域);

注意:1)根结点没有双亲,所以约定根结点的位置域设置为 -1 ;

           2)如果没有孩子的结点,这个结点的长子域就设置为 -1 。

2.孩子表示法:

第一种方案:

data—》child1——》child2——》child3——》。。。——》childd

由于第一种方案浪费空间,所以有第二种方案,增加了标识,来分配指针域的个数

 

第二种方案:

data—》degree——》child1——》child2——》child3——》。。。——》childd

 

孩子结点的单链表、头指针的线性表

firstchild 是头指针域,出租出该结点的孩子链表的的头指针。

双亲孩子表示法(了解):在孩子表示法的第二种方案的基础上加入了parent指针域,可以反溯孩子结点的双亲。。。。

 

3.孩子兄弟表示法:

data—》firstchild ----》rightsib

找双亲:增加parent指针域

 

 

完全二叉树

完全二叉树:当前的结点的序号为s,则其左孩子序号为2s,右孩子为2s+1

posted on 2017-11-08 20:01  会飞的蝌蚪  阅读(204)  评论(0编辑  收藏  举报