第5章 树和二.pptVIP

  • 2
  • 0
  • 约2.03万字
  • 约 91页
  • 2017-06-16 发布于贵州
  • 举报
第5章 树和二

} else{ p=s[top]; top--; coutp-data; } } } } 具有n个结点的二叉树,有n-1条边,正是这些边指向其左、右孩子。这意味着在二叉链表中的2n个孩子指针域中只用到了n-1个域,还有另外n+1个指针域为空,被闲置。现设法把这些空闲的指针域利用起来。当某结点无左孩子时,令左指针lchild指向它的前趋结点;当该结点无右孩子时,令右指针指rchild向它的后继结点。为了严格区分结点的孩子指针域究竟指向孩子结点还是指向前趋或后继结点,需在原结点结构中增加两个标志域: 在中序线索二叉树中找结点后继:对于结点p,当p没有右子树时,p的rchild指针域所指的结点即为p的后继;当p有右子树,此时p的后继结点应是遍历其右子树时访问的第一个结点(右子树中最左下的结点)。 在后序线索树中找结点的后继较复杂,若结点p是二叉树的根,则p的后继为空;若p是其双亲的右孩子或是其双亲的左孩子且其双亲无右子树,则p的后继是p的双亲结点;若p是双亲的左孩子且其双亲有右子树,则p的后继是其双亲的右子树上按后序遍历列出的第一个结点。 5.5.3 哈夫曼编码 哈夫曼树可用于构造使电文编码的代码长度最短的编码方案。具体构造方法如下:设需要编码的字符集合为{d1, d2, …, dn},各个字符在电文中出现的次数集合为{

文档评论(0)

1亿VIP精品文档

相关文档