public static void Recorrido(ref Dictionary <byte, string> DiccionarioPre, nodoarbol Raiz, string camino) { if (Raiz != null) { var caminoDer = $"{camino}1"; Recorrido(ref DiccionarioPre, Raiz.nododer, caminoDer); if (Raiz.caracter != 0) { DiccionarioPre.Add(Raiz.caracter, camino); } var caminoIzq = $"{camino}0"; Recorrido(ref DiccionarioPre, Raiz.nodoizq, caminoIzq); } }
public static void Insertar(List <nodoarbol> ListaNodo, IFormFile archivo, string nombre) { while (ListaNodo.Count != 1) { var nodoAux = new nodoarbol(); nodoAux.Frecuencia = ListaNodo[0].Frecuencia + ListaNodo[1].Frecuencia; nodoAux.nodoizq = ListaNodo[1]; nodoAux.nododer = ListaNodo[0]; ListaNodo.RemoveRange(0, 2); ListaNodo.Add(nodoAux); ListaNodo.Sort(); } var DiccionarioPrefijos = new Dictionary <byte, string>(); var camino = ""; Recorrido(ref DiccionarioPrefijos, ListaNodo[0], camino); ComprimirArchivo(DiccionarioPrefijos, archivo, nombre); }