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)); }