Don Postado Abril 6, 2010 Denunciar Share Postado Abril 6, 2010 Esta foi uma questão que caiu na prova que levei bomba, alguém pode ajudar com este código, comentando?Construir uma função para imprimir todos os nos da arvore, de cima parabaixo e da esquerda para direita (busca em largura). Fazer também umafunção para inserir na fila e outra para exclui da fila.Abaixo seguea estrutura.struct fila{ struct arvore * no; struct fila * prox; } struct fila * inicio; struct fila * fim; struct fila * auxF; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 OSJunior Postado Abril 7, 2010 Denunciar Share Postado Abril 7, 2010 Don, é uma fila ou uma árvore binária?Como está a sua função/procedimento para inserir? E como está desenvolvida a sua busca?Coloque aqui para que possamos ajudá-lo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 p4t0X Postado Abril 9, 2010 Denunciar Share Postado Abril 9, 2010 (editado) Don, esse código que você postou é uma mistura de árvore e fila!Uma das possíveis maneiras de declarar uma estrutura para uma árvore é a seguinte:struct noh { int elemento; struct noh *direita; struct noh *esquerda; }; Só lembrando que: - Os elementos da direita são sempre MAIORES; - Os elementos da esquerda são sempre MENORES; A lógica para adicionar é simples: Imaginando que você quer adicionar um elemento Z na árvore A; Comece apontando um nó para raiz da árvore A (a raiz de uma árvore é o primeiro elemento); [1] Compare se o elemento Z é maior que o elemento do nó atual; - Se Z for MAIOR que o elemento do nó atual O nó atual tem um filho à direita? Mude o elemento para o filho à direita e volte para [1]; O nó atual NÃO tem um filho à direita? Adicione o novo nó à direita desse elemento. - Se Z for MENOR que o elemento do nó atual O nó atual tem um filho à esquerda? Mude o nó para o filho à esquerda e volte para [1]; O nó atual NÃO tem um filho à esquerda? Adicione o novo nó à esquerda desse elemento. Exemplo de uma árvore simples: (raiz) 5 (filho) 3 7 (filho)Não sei se eu consegui explicar direito, mais acho que isso!Sugiro que você tente implementar a função de adicionar!Qualquer dúvida é só postar! Editado Abril 9, 2010 por p4t0X Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Don
Esta foi uma questão que caiu na prova que levei bomba, alguém pode ajudar com este código, comentando?
Construir uma função para imprimir todos os nos da arvore, de cima para
baixo e da esquerda para direita (busca em largura). Fazer também uma
função para inserir na fila e outra para exclui da fila.Abaixo segue
a estrutura.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.