带双亲指示的二叉树顺序存储数据结构的定义如下: #define maXsize 20 typedef char datatype;/结点值的类型*/ typedef struct datatype data; int child rchild Int parent:/存放双亲结点的下标* }node;/二叉树结点的类型/ node tree [MAXsize]: intn;/树中实际所含结点的个数*/ int root;/存放根结点的下标*
带双亲指示的二叉树顺序存储数据结构的定义如下: #define MAXSIZE 20 typedef char datatype; /*结点值的类型*/ typedef struct { datatype data; int lchild,rchild; int parent; /*存放双亲结点的下标*/ } node; /*二叉树结点的类型*/ node tree[MAXSIZE]; int n; /*树中实际所含结点的个数*/ int root; /*存放根结点的下标*/
7.32链式存储结构 二叉树的链式存储方式下每个结点也包含三个域 分别记录该结点的属性值及左、右子树的位置。与顺 序存储结构不同的是,其左、右子树的位置不是通过 数组的下标,而是通过指针方式体现,如下图所示 Child data rchild 指针域属性值指针域
7.3.2 链式存储结构 二叉树的链式存储方式下每个结点也包含三个域, 分别记录该结点的属性值及左、右子树的位置。与顺 序存储结构不同的是,其左、右子树的位置不是通过 数组的下标,而是通过指针方式体现,如下图所示: lchild data rchild 指针域 属性值 指针域
root 上|a b AC A ada kely f Af AgA (a)_棵二叉树 (b)二叉树的链式存储
a b d c g f e a g f d e b c root (a)一棵二叉树 (b) 二叉树的链式存储