数据结构-第6章 树和二叉树.ppt

解码:从根结点起每输入一个数码即沿二叉树下移一层,数码为0时移向左分支,数码为1时移向右分支,待达到叶子结点时即译出一个字符,再输入的数码又从根结点开始重新做起。 将此二叉树与相应的编码方式对照可以发现,每个叶子结点至根的路径长度即等于该叶子结点所代表字符的编码位数。由于将每种字符出现的次数作为对应叶子结点的权,则计算出的带权路径长度wpl即为整个字符串的编码长度。 返回 6.4.1 树的存储结构 1.双亲表示法 2. 孩子表示法 3.孩子兄弟表示法 1.双亲表示法 这种方法用一组连续的空间来存储树中的结点,在保存每个结点的同时附设一个指示器来指示其双亲结点在表中的位置 .其结点的结构如下: 数据域 双亲位置域 data parent 双亲表示法的形式说明如下: #define MAX 100 typedef struct PTNode //结点结构 { ?? TElemType data; ?? int parent; }PTNode; typedef struct //树结构 { PTNode nodes[MAX]; int r,n; //根的位置和结点数 }PTree; 双亲表示法举例 2. 孩子表示法 这种方法通常是把每个结点的孩子结点排列起来,构成一个单链表,称为孩子链表。n个结点共有n个孩子链表(叶结点的孩子链表为空表),而n个结点的数据和

文档评论(0)

1亿VIP精品文档

相关文档