Пример #1
0
        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();
        }
Пример #2
0
        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;
                    }
                }
            }
        }
Пример #3
0
 public arbol()
 {
     raiz = null;
 }