www.pudn.com > Huffman.rar > huffman_g.h
#ifndef _HUFFMAN_G_HEADER_001_
#define _HUFFMAN_G_HEADER_001_
#include "huffman_base.h"
// 当元素权值已经有序时,可以使用A. Moffat和J. Katajainen设计
// 的在权值数组内部构建Huffman的方法
// A. Moffat和J. Katajainen对该算法的描述见
// http://www.cs.mu.oz.au/~alistair/abstracts/inplace.html
class huffman_g :
public huffman_base
{
public:
huffman_g() { need_sorted = true; }
virtual ~huffman_g(void) {}
public:
void generate_codes(int num, const unsigned long* weights);
protected:
void calculate_minimum_redundancy(unsigned long A[], int n);
};
#endif