private void SetCodes(string code, HuffmanNode Nodes) { if (Nodes == null) { return; } if (Nodes.LeftTree == null && Nodes.RightTree == null) { Nodes.Code = code; return; } SetCodes(code + "0", Nodes.LeftTree); SetCodes(code + "1", Nodes.RightTree); }
public Dictionary <string, byte[]> GetCharCodes(HuffmanNode nodes) { if (nodes == null) { return(new Dictionary <string, byte[]>()); } if (nodes.LeftTree == null && nodes.RightTree == null) { charCodes.Add(nodes.Character, GetByteCode(nodes.Code)); return(charCodes); } GetCharCodes(nodes.LeftTree); GetCharCodes(nodes.RightTree); return(charCodes); }