背景
马上就要放暑假了! LSGO软件技术团队 也要开始招新了!
本次招入的同学,我会亲自来带,和你一起学习,共同成长。
我的CSDN博客我们的主要研究方向是机器学习,再详细一些就是视觉、自然语言处理和量化金融。
以下是我对团队运营的一些启示:
欢迎新同学加入进来,我的联系方式如下,直接与我联系就好!
代码
<b>Huffman 字典结构</b>:
<u>C#语言</u>
public class HuffmanDicItem
{
public char Character { get; set; }
public string Code { get; set; }
public HuffmanDicItem(char charactor, string code)
{
Character = charactor;
Code = code;
}
}
<b>Huffman 字典</b>:
<u>C#语言</u>
char[] character =
{
'l', 'r', ' ', '.', 'e', 'c', 's', 'p', 'u', 'g', 'o', 'M', 'y', 'W', 'h', 'a', 't', 'i',
'n'
};
string[] code =
{
"0000", "0001", "001", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011",
"11000", "11001", "11010", "11011", "11100", "11101", "11110", "11111"
};
List<HuffmanDicItem> dic = character.Select((t, i) => new HuffmanDicItem(t, code[i])).ToList();
<u>Python语言</u>
character = [
'l', 'r', ' ', '.', 'e', 'c', 's', 'p', 'u', 'g', 'o', 'M', 'y', 'W', 'h', 'a', 't', 'i', 'n'
]
code = [
"0000", "0001", "001", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011",
"11000", "11001", "11010", "11011", "11100", "11101", "11110", "11111"
]
dic = dict(zip(character, code))
<b>解码函数</b>:
<u>C#语言</u>
public string HuffmanCodeToString(List<HuffmanDicItem> dict, string code)
{
string result = string.Empty;
for (int i = 0; i < code.Length;)
{
foreach (HuffmanDicItem item in dict)
{
if (code[i] == item.Code[0] && item.Code.Length + i <= code.Length)
{
string temp = code.Substring(i, item.Code.Length);
if (temp == item.Code)
{
result += item.Character;
i += item.Code.Length;
break;
}
}
}
}
return result;
}
<u>Python语言</u>
def HuffmanCodeToString(dict, code):
result = ""
i = 0
while i < len(code):
for item in dict:
if code[i] == dict[item][0] and len(dict[item]) + i <= len(code):
temp = code[i:i + len(dict[item])]
if temp == dict[item]:
result += item
i += len(dict[item])
break
return result
<b>Huffman 编码</b>:
<u>C#语言</u>
string huffmanCode =
"110001100100111010010101101101111100111010011111001110011111101100101100010010000011110101011101000011011100110000100";
string res = HuffmancodeToString(dic, huffmanCode);
Console.WriteLine(res);
<u>Python语言</u>
huffmanCode = "110001100100111010010101101101111100111010011111001110011111101100101100010010000011110101011101000011011100110000100"
res = HuffmanCodeToString(dic, huffmanCode)
print(res)
总结
欢迎同学们与我联系,希望我们能够结善缘!
相关图文:
- 如何利用 C# 实现 K 最邻近算法?
- 如何利用 C# 实现 K-D Tree 结构?
- 如何利用 C# + KDTree 实现 K 最邻近算法?
- 如何利用 C# 对神经网络模型进行抽象?
- 如何利用 C# 实现神经网络的感知器模型?
- 如何利用 C# 实现 Delta 学习规则?
- 如何利用 C# 爬取带 Token 验证的网站数据?
- 如何利用 C# 向 Access 数据库插入大量数据?
- 如何利用 C# 开发「桌面版百度翻译」软件!
- 如何利用 C# 开发「股票数据分析软件」(上)
- 如何利用 C# 开发「股票数据分析软件」(中)
- 如何利用 C# 开发「股票数据分析软件」(下)
- 如何利用 C# 爬取「财报说」中的股票数据?
- 如何利用 C# 爬取 One 持有者返利数据!
- 如何利用 C# 爬取Gate.io交易所的公告!
- 如何利用 C# 爬取BigOne交易所的公告!
- 如何利用 C# 爬取 ONE 的交易数据?
- 如何利用 C# 爬取「猫眼电影:热映口碑榜」及对应影片信息!
- 如何利用 C# 爬取「猫眼电影专业版:票房」数据!
- 如何利用 C# 爬取「猫眼电影:最受期待榜」及对应影片信息!
- 如何利用 C# 爬取「猫眼电影:国内票房榜」及对应影片信息!
- 如何利用 C# + Python 破解猫眼电影的反爬虫机制?
- 如何利用BigOne的API制作自动化交易系统 -- 身份验证
- 如何利用BigOne的API制作自动化交易系统 -- 获取账户资产
- 如何利用BigOne的API制作自动化交易系统 -- 订单系统
网友评论