Пример #1
0
        private static void GenerateCodes(HuffmanTreeNode node, uint code, uint depth)
        {
            if (node.IsLeaf())
            {
                node.NumBits = depth;
                node.Code    = code;
            }
            else
            {
                var leftCode = code & ~(1U << (int)depth);
                GenerateCodes(node.Left, leftCode, depth + 1);

                var rightCode = code | (1U << (int)depth);
                GenerateCodes(node.Right, rightCode, depth + 1);
            }
        }
Пример #2
0
 public static bool IsLeaf(HuffmanTreeNode node)
 {
     return(node.IsLeaf());
 }