这里的Huffman编码就是离散数学中学的最优二叉树,现在.docVIP

  • 78
  • 0
  • 约4.91千字
  • 约 8页
  • 2017-11-27 发布于江苏
  • 举报

这里的Huffman编码就是离散数学中学的最优二叉树,现在.doc

这里的Huffman编码就是离散数学中学的最优二叉树,现在

? 这里的Huffman编码就是离散数学中学的最优二叉树,现在我们用C++来实现它。 ? ??? 首先考虑实现它使用的数据结构,当然这里肯定使用二叉树。其次就是存储方式,对于树一般情况是用间接存储也就是链表。但是二叉链表不方便寻找双亲节点,这里使用向量更好,对存储空间的利用率也较高。 ??建立数据结构: ?????? Huffman树中每个节点看成数组中的一个元素,它的属性有:权(weight),字符(data) 。为了方便寻找双亲和孩子节点加入三个域parent ,lch ,rch。分别存储双亲和左右孩子节点在数组中位置下标。 ?????? 然后再建立个类来操作Huffman树。 //Huffman.h #include?string using?std::string; class?HuffmanTree { public: ???HuffmanTree(int,int[]); ???? ???void?BuildTree(); ???void?SetCode(); ???void?Display(); ???string?Send(char*); ???string?Get(string); ???? private: ???void?Select(int,int,int); ???? private:???? ????class?Node ????{ ?????????f

文档评论(0)

1亿VIP精品文档

相关文档