private void codigo(int x, int y) { info = info.OrderByDescending(o => o.Probabilidad).ToList(); nodo izq; nodo der; if (info[x].Probabilidad <= info[y].Probabilidad) { info[x].Cod = "0"; info[y].Cod = "1"; izq = new nodo(null, null, info[x]); der = new nodo(null, null, info[y]); } else { info[y].Cod = "0"; info[x].Cod = "1"; izq = new nodo(null, null, info[y]); der = new nodo(null, null, info[x]); } informacion nuevo = new informacion((info[x].Aparicion + info[y].Aparicion), info[x].Probabilidad + info[y].Probabilidad); info.Add(nuevo); nodo pad = new nodo(izq, der, nuevo); nodos.Add(pad); info = info.OrderByDescending(o => o.Probabilidad).ToList(); }
public void Insertar(informacion info) { nodo nuevo; nuevo = new nodo(); nuevo.Info = info; nuevo.Izq = null; nuevo.Der = null; if (raiz == null) { raiz = nuevo; } else { nodo anterior = null, reco; reco = raiz; while (reco != null) { anterior = reco; if (info.Probabilidad <= reco.Info.Probabilidad) { reco = reco.Izq; } else { reco = reco.Der; } if (info.Probabilidad <= anterior.Info.Probabilidad) { anterior.Izq = nuevo; } else { anterior.Der = nuevo; } } } }
public arbol() { raiz = null; }