如何加入LSGO軟件技術團隊?

背景

馬上就要放暑假了! LSGO軟件技術團隊 也要開始招新了!

本次招入的同學,我會親自來帶,和你一起學習,共同成長。

我的CSDN博客

我們的主要研究方向是機器學習,再詳細一些就是視覺、自然語言處理和量化金融。

以下是我對團隊運營的一些啓示:

歡迎新同學加入進來,我的聯繫方式如下,直接聯繫我就好!


代碼

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)

總結

歡迎同學們與我聯繫,希望我們能夠結善緣!


相關圖文

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章