Problemas para informar o maior valor em uma Árvore binária

2 respostas
R

Olá, pessoal!

Estou tentando fazer um método que retornaria o maior valor de código de um produto inserido em uma árvore binária de busca mas, estou enfrentando um pequeno problema, o método está retornando apenas o valor da raiz da árvore. Não importa quantos produtos eu insira e quais os valores de código, ele sempre me retorna o valor da raiz. A quem puder ajudar, eu agradeço.

public int informarMaior(No raiz){ int maior = 0; Produto prodAux; if (raiz != null){ prodAux = (Produto) raiz.getElemento(); if(maior < prodAux.getCodigo()){ maior = prodAux.getCodigo(); } this.informarMaior(raiz.getEsquerdo()); this.informarMaior(raiz.getDireito()); return maior; } else{ return 0; } }

2 Respostas

luxu

Pensei em fazer assim, mas nem testei:

public int informarMaior(No raiz, int maior){ Produto prodAux; if (raiz != null){ prodAux = (Produto) raiz.getElemento(); if(maior < prodAux.getCodigo()){ maior = prodAux.getCodigo(); } this.informarMaior(raiz.getEsquerdo(),maior); this.informarMaior(raiz.getDireito(),maior); } return maior }

R

Vou testar aqui e já edito pra dizer se funcionou! :slight_smile:

Cara, funcionou não… :cry: Acho que deve ser algum problema com o meu pc pq em todos os lugares que eu pesquisei o algoritmo do método é esse que eu postei…

Obrigado pela ajuda. Vou continuar tentando.

Criado 1 de dezembro de 2010
Ultima resposta 1 de dez. de 2010
Respostas 2
Participantes 2