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

Problemas Com Algoritmo De Busca Em Árvores


sliver

Pergunta

Olá pessoal, sou novo no fórum, este é o meu primeiro post!

Eu preciso fazer um algoritmo para gerar um número aleatório entre 1 e 20,

verificar se ele já existe em uma árvore binária dada pelo "arvore raiz"

//verifica se a chave inteira a ser inserida já existe

bool verificaIgual (arvore raiz, int x) {

if (raiz) {

if (raiz->chave == x) return(true);

verificaIgual(raiz->esq, x);

verificaIgual(raiz->dir, x);

return(false);

}

}

//gera um número aleatório entre 1 e 20

int gerarNumero(arvore raiz) {

srand((unsigned) time(NULL));

int x = (rand() % 20);

// se a chave criada já existir, cria outra chave

if (verificaIgual(raiz,x)) gerarNumero(raiz);

else return x;

}

E o algoritmo não funciona! Alguém pode me ajudar?

Obs.: É árvore binária normal, não é de busca binária.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Guest Rafael Barros

rapaz,

que tipo de erro tá dando??? um erro que eu vi foi que isso pode está gerando um loop infinito pow ele pode sempre gerar o mesmo numero ai vai ficar preso na recursão.

colocar aqui o tipo de erro que eu tento te ajudar.

Link para o comentário
Compartilhar em outros sites

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
      652k
×
×
  • Criar Novo...