Ir para conteúdo
Fórum Script Brasil
  • 0

Procurar nos em arvores binarias


Nelson Andrade

Pergunta

Estou a fazer um trabalho em que peço ao utilizador para escrever um texto.

Depois pego nas palavras desse texto e insiro cada uma delas numa árvore binária e a cada nó da árvore está associado uma string e um contador (no case de haver palavras repetidas)

O inserir já está.

Mas o meu professor pede para procurarmos por palavras, ou seja, o utilizador escreve uma palavra ou um bocado dela e todas as palavras na árvore que começarem por esse bocado têm de ser imprimidas.

Até agora eu tenho assim:

Se tiver na árvore as palavras "casa", "casamento", só é imprimida a primeira palavra e não sei porquê. Alguém me pode ajudar?

 

void procura( String x ) {

        if(x.length()==0) {
            listarPosOrdem(raiz); // se o utilizar não introduzir nada, imprimo todas as palavras da árvore, funciona.
            return;
        }
        No actual = raiz;


        if(actual==null){
            System.out.println("palavra não encontrada");
            return;

        };    
        if(actual.oElemento.startsWith(x)==true){
            System.out.println("Palavras encontradas: ");
            System.out.println(actual.oElemento + " encontrada "  + actual.contador + " vez(es) ");
        }


        while( actual != null && actual.oElemento.startsWith(x)==false){

            if( x.compareTo(actual.oElemento)>0 ){
                actual = actual.dir;
            }
            else
                actual = actual.esq;

            if(actual==null){
                System.out.println("palavra não encontrada");
                return;

            }

            if(actual.oElemento.startsWith(x)==true){
                System.out.println("Palavras encontradas: ");
                System.out.println(actual.oElemento + " encontrada "  + actual.contador + " vez(es) ");


            }    


        }    
    }

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...