コード例 #1
0
        private void ArvoreEstritamenteBinaria(No Inicio)
        {
            if (Inicio != null)
            {
                if (Inicio.GetPai() != null)
                {
                    if (Inicio.GetPai().GetFilhoEsq() == null || Inicio.GetPai().GetFilhoDir() == null)
                    {
                        EstritamenteBinaria = false;
                    }
                }

                ArvoreEstritamenteBinaria(Inicio.GetFilhoEsq());
                ArvoreEstritamenteBinaria(Inicio.GetFilhoDir());
            }
        }
コード例 #2
0
        public void EncontrarRaiz(No Inicio)
        {
            if (Inicio != null)
            {
                if (Inicio.GetPai() == null)
                {
                    RaizEncontrada = Inicio;
                }

                if (RaizEncontrada == null)
                {
                    EncontrarRaiz(Inicio.GetPai());
                }
                EncontrarRaiz(Inicio.GetFilhoEsq());
                EncontrarRaiz(Inicio.GetFilhoDir());
            }
        }
コード例 #3
0
        private int Pronfundidade(No NoProfundidade)
        {
            if (NoProfundidade == Raiz)
            {
                return(0);
            }

            return(1 + Pronfundidade(NoProfundidade.GetPai()));
        }
コード例 #4
0
 private void PosOrdem(No Inicio)
 {
     if (Inicio != null)
     {
         PosOrdem(Inicio.GetFilhoEsq());
         PosOrdem(Inicio.GetFilhoDir());
         Arvore_Percurso.Add(new No(Inicio.GetValor(), Inicio.GetPai(), Inicio.GetFilhoEsq(), Inicio.GetFilhoDir()));
         Console.Write(Inicio.GetValor() + " ");
     }
 }
コード例 #5
0
        private void PaisMaioresFilhos(No Inicio, List <No> PaisTestados)
        {
            if (Inicio != null)
            {
                if (Inicio.GetPai() != null && !(PaisTestados.Contains(Inicio.GetPai())))
                {
                    PaisTestados.Add(Inicio.GetPai());
                    Console.Write("Pai: " + Inicio.GetPai().GetValor() + " - ");

                    if (Inicio.GetPai().GetFilhoEsq() == null && Inicio.GetPai().GetFilhoDir() != null)
                    {
                        Console.Write("Maior Filho: " + Inicio.GetPai().GetFilhoDir().GetValor() + "\n");
                    }

                    if (Inicio.GetPai().GetFilhoDir() == null && Inicio.GetPai().GetFilhoEsq() != null)
                    {
                        Console.Write("Maior Filho: " + Inicio.GetPai().GetFilhoEsq().GetValor() + "\n");
                    }

                    if (Inicio.GetPai().GetFilhoEsq() != null && Inicio.GetPai().GetFilhoDir() != null)
                    {
                        if (Inicio.GetPai().GetFilhoEsq().GetValor() > Inicio.GetPai().GetFilhoDir().GetValor())
                        {
                            Console.Write("Maior Filho: " + Inicio.GetPai().GetFilhoEsq().GetValor() + "\n");
                        }
                        else
                        {
                            Console.Write("Maior Filho: " + Inicio.GetPai().GetFilhoDir().GetValor() + "\n");
                        }
                    }
                }

                PaisMaioresFilhos(Inicio.GetFilhoEsq(), PaisTestados);
                PaisMaioresFilhos(Inicio.GetFilhoDir(), PaisTestados);
            }
        }