《数据结构实用教程(C语言版)》第5章 树.pptVIP

  • 3
  • 0
  • 约1.68万字
  • 约 84页
  • 2018-03-02 发布于江西
  • 举报

《数据结构实用教程(C语言版)》第5章 树.ppt

《数据结构实用教程(C语言版)》第5章 树

数据结构实用教程(C语言版) 【例5.7】假设有一组权值{2,3,7,8,12,9,6,19},下面我们将利用这组权值演示构造哈夫曼树的过程。 解:第一步:以这8个权值作为根结点的权值构造具有8棵树的森林。 第二步:从中选择两个根的权值最小的树2、3作为左右子树构造一棵新树,并将这两棵树从森林中删除,并将新树5添加进去。 返回到本节目录 第三步:重复第二步过程,直到森林中只有一棵树为止 选择5、6,将11放回。 选择7、8,将15放回。 返回到本节目录 选择9、11,将20放回 选择12、15,将27放回。 返回到本节目录 选择19、20,将39放回。 选择27、39,最后森林中只有一棵树,结束操作,这棵树就是哈夫曼树。 返回到本节目录 为了实现构造哈夫曼树的算法,设计哈夫曼树中每个结点类型如下: typedef struct { char data; /*结点值*/ int weight; /*权值*/ int parent; /*双亲结点下标*/ int lchild; /*左孩子结点下标*/ int rchild; /*右孩子结点下标*/ }HTCode; /*哈夫曼树结点类型*/ 返回到本节目录

文档评论(0)

1亿VIP精品文档

相关文档