算法系列15天速成——第十三天 树操作【下】
namespace HuffmanTree //赫夫曼树中的节点总数 //各节点的权值 string[] alphabet = { "A", "B", "C", "D" }; string testCode = "DBDBDABDCDADBDADBDADACDBDBD"; //赫夫曼树用数组来保存,每个赫夫曼都作为一个实体存在 HuffmanTreeManager manager = new HuffmanTreeManager(); manager.CreateTree(huffman, leafNum, weight); string[] huffmanCode = manager.HuffmanCoding(huffman, leafNum); for (int i = 0; i < leafNum; i++) Console.WriteLine("原始的字符串为:" + testCode); string encode = manager.Encode(huffmanCode, alphabet, testCode); Console.WriteLine("被编码的字符串为:" + encode); string decode = manager.Decode(huffman, huffmanNodes, alphabet, encode); Console.WriteLine("解码后的字符串为:" + decode); #region 赫夫曼树结构 public int parent { get; set; } public int left { get; set; } public int right { get; set; } /// <summary> //初始化节点,赋予叶子节点值 (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |