Pesquisar na Comunidade
Mostrando resultados para as tags ''procurar nos em arvores binarias''.
Encontrado 1 registro
-
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) "); } } }