数据结构使用C语言描述第2版 第05章 树.ppt

数据结构使用C语言描述第2版 第05章 树

南京邮电大学计算机学院 陈慧南 2006年9月 南京邮电大学计算机学院 陈慧南 2006年9月 哈夫曼算法 (1)用给定的一组权值{w1,w2 ,…,wn},生成一个有n棵树组成的森林F={T1,T2,…,Tn},其中,每棵二叉树Ti只有一个结点,即权值为wi的根结点(也是叶子)。 (2)从F中选择两棵根结点权值最小的树,作为新树根的左、右子树,新树根的权值是左、右子树根结点的权值之和。 (3)从F中删除这两棵树,另将新二叉树加入F中。 (4)重复(2)和(3),直到F中只包含一棵树为止。 南京邮电大学计算机学院 陈慧南 2006年9月 5.7.3? 哈夫曼树类 template class T class HfmTree:public BinaryTreeT { public: operator T()const {return weight;} T getW(){return weight;} void putW(const T x){ weight=x;} SetNull(){root=NULL;} private: T weight; }; 南京邮电大学计算机学院 陈慧南 2006年9月 5.7.4? 构造哈夫曼树 HfmTreeT CreateHfmTree (T w[],int n) 设

文档评论(0)

1亿VIP精品文档

相关文档