Пример #1
0
        private Data <string> GenerateHuffmanTree()
        {
            List <Data <string> > q = Queues.Clone().ToList();

            for (int i = 1; i < _c.Count; i++)
            {
                var x = ExtractMin(q);
                var y = ExtractMin(q);
                var z = new Data <string>("#", x.F + y.F)
                {
                    Left  = x,
                    Right = y
                };
                q.Add(z);
            }
            return(ExtractMin(q));
        }