- 78
- 0
- 约4.91千字
- 约 8页
- 2017-11-27 发布于江苏
- 举报
这里的Huffman编码就是离散数学中学的最优二叉树,现在
? 这里的Huffman编码就是离散数学中学的最优二叉树,现在我们用C++来实现它。
? ??? 首先考虑实现它使用的数据结构,当然这里肯定使用二叉树。其次就是存储方式,对于树一般情况是用间接存储也就是链表。但是二叉链表不方便寻找双亲节点,这里使用向量更好,对存储空间的利用率也较高。
??建立数据结构:
?????? Huffman树中每个节点看成数组中的一个元素,它的属性有:权(weight),字符(data) 。为了方便寻找双亲和孩子节点加入三个域parent ,lch ,rch。分别存储双亲和左右孩子节点在数组中位置下标。
?????? 然后再建立个类来操作Huffman树。
//Huffman.h#include?stringusing?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
您可能关注的文档
最近下载
- 05G512:钢天窗架 国标图集.pdf VIP
- 供水公司安全生产责任制及职责.docx VIP
- 【新教材】仁爱科普版(2024)七年级下册英语Unit 10 Lending a helping hand教案(共8课时).docx
- 铁门关经济技术开发区纺织服装园区污水处理厂工程环境影响报告书.PDF VIP
- 医学伦理学考试题与答案.docx VIP
- XXX高级职业中学办学章程.docx
- 山东省济南市历下区2026届中考语文考前最后一卷含解析.doc VIP
- “技能兴威”威海市第二届职业技能大赛技术文件--数控铣(含赛题).docx VIP
- 05G513 钢托架设计图集--.pdf VIP
- 《运筹学》期末考试试卷A-答案.docx VIP
原创力文档

文档评论(0)