背景
馬上就要放暑假了! LSGO軟件技術團隊 也要開始招新了!
本次招入的同學,我會親自來帶,和你一起學習,共同成長。
我們的主要研究方向是機器學習,再詳細一些就是視覺、自然語言處理和量化金融。
以下是我對團隊運營的一些啓示:
歡迎新同學加入進來,我的聯繫方式如下,直接聯繫我就好!
代碼
Huffman 字典結構:
C#語言
public class HuffmanDicItem
{
public char Character { get; set; }
public string Code { get; set; }
public HuffmanDicItem(char charactor, string code)
{
Character = charactor;
Code = code;
}
}
Huffman 字典:
C#語言
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();
Python語言
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))
解碼函數:
C#語言
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;
}
Python語言
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
Huffman 編碼:
C#語言
string huffmanCode =
"110001100100111010010101101101111100111010011111001110011111101100101100010010000011110101011101000011011100110000100";
string res = HuffmancodeToString(dic, huffmanCode);
Console.WriteLine(res);
Python語言
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製作自動化交易系統 – 訂單系統