I dunno man

This commit is contained in:
Lani Aung
2024-10-06 23:12:50 -06:00
parent 9c44ec0156
commit e3f23389da
6 changed files with 97 additions and 46 deletions
@@ -0,0 +1,47 @@
namespace fxl.codes.kisekae.data.Archives.Algorithms;
public class Huffman
{
private readonly List<HuffmanNode> Nodes;
public Huffman()
{
Nodes = new List<HuffmanNode>();
for (var i = char.MinValue; i < char.MaxValue; i++) Nodes.Add(new HuffmanNode(i, 1));
}
}
internal class HuffmanNode
{
public readonly char Value;
public HuffmanNode Left;
public HuffmanNode Parent;
public HuffmanNode Right;
public HuffmanSide Side;
public int Weight;
public HuffmanNode(char value, int weight = 0)
{
Value = value;
Weight = weight;
}
public HuffmanNode(HuffmanNode left, HuffmanNode right)
{
Left = left;
Left.Side = HuffmanSide.Left;
Left.Parent = this;
Right = right;
Right.Side = HuffmanSide.Right;
Right.Parent = this;
Weight = left.Weight + right.Weight;
}
}
internal enum HuffmanSide
{
Left,
Right
}