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

Estrutura de Dados


Don

Pergunta

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.

struct fila{
    struct arvore * no;
    struct fila * prox;
}
struct fila * inicio;
struct fila * fim;
struct fila * auxF;

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

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 por p4t0X
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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...