这是链接上一篇文章所写的代码,上一篇链接如下:

http://www.cnblogs.com/HONT/archive/2013/06/05/3118531.html

 

StringToHuffmanCode这个函数相当于把转换步奏打包执行,其中树的一些遍历使用递归实现,由于用了不少.Net3.5的特性,造成看着费劲实在抱歉。。

public string StringToHuffmanCode(out Dictionary<char, string> key, string str)
{
    string result = "";

    var tmps = GetWeightArray(str);
    //构建权值数组

    var tree = CreateHuffmanTree(tmps);
    //构建哈弗曼树,即最优二叉树

    var dict = CreateHuffmanDict(tree);
    //构建哈弗曼字典.

    result = ToHuffmanCode(str, dict);
    //输出哈弗曼代码

    key = dict;
    return result;
}
StringToHuffmanCode

相关文章:

猜你喜欢
  • 2021-12-22
  • 2021-05-10
  • 2021-05-28
  • 2021-07-10
  • 2021-05-06
  • 2021-10-04
相关资源
相似解决方案