Arvore Binaria

555 palavras 3 páginas
/* www.GeeksBR.com */

/* Implementação de árvore binária */

#include
#include

/* Cada nó armazena três informações: nesse caso um número (num), ponteiro para subárvore à direita (sad) e ponteiro para subárvore à esquerda (sae).*/ typedef struct tree
{
int num; struct tree* sad; struct tree* sae;
} Tree;

/* A estrutura da árvore é representada por um ponteiro para o nó raiz. Com esse ponteiro, temos acesso aos demais nós. */

/* Função que cria uma árvore */
Tree* createTree()
{
/* Uma árvore é representada pelo endereço do nó raiz, essa função cria uma árvore com nenhum elemento, ou seja, cria uma árvore vazia, por isso retorna NULL. */ return NULL;
}

/* Função que verifica se uma árvore é vazia */ int treeIsEmpty(Tree* t)
{
/* Retorna 1 se a árvore for vazia e 0 caso contrário */ return t == NULL;

}

/* Função que mostra a informação da árvore */ void showTree(Tree* t)
{
/* Essa função imprime os elementos de forma recursiva */ printf(""); /* notação para organizar na hora de mostrar os elementos */
}

/* Função que insere um dado na árvore */ void insertTree(Tree** t, int num)
{
/* Essa função insere os elementos de forma recursiva */ if(*t == NULL) { *t = (Tree*)malloc(sizeof(Tree)); /* Aloca memória para a estrutura */ (*t)->sae = NULL; /* Subárvore à esquerda é NULL */ (*t)->sad = NULL; /* Subárvore à direita é NULL */ (*t)->num = num; /* Armazena a informação */ } else { if(num < (*t)->num) /* Se o número for menor então vai pra esquerda */ { /* Percorre pela subárvore à esquerda */ insertTree(&(*t)->sae, num); } if(num > (*t)->num) /* Se o número for maior então vai pra direita */ { /* Percorre pela subárvore à direita */ insertTree(&(*t)->sad, num); } }
}

/* Função que verifica se um elemento pertence ou não à árvore */ int isInTree(Tree* t, int num) {

Relacionados

  • Arvore Binaria
    2327 palavras | 10 páginas
  • Arvore binária
    1053 palavras | 5 páginas
  • Arvore binaria
    474 palavras | 2 páginas
  • Arvore binaria
    660 palavras | 3 páginas
  • árvore binária
    917 palavras | 4 páginas
  • Arvore Binaria
    865 palavras | 4 páginas
  • Arvore Binaria
    1080 palavras | 5 páginas
  • Árvore Binárias
    1501 palavras | 7 páginas
  • Arvore Binaria
    691 palavras | 3 páginas
  • Árvore Binaria
    265 palavras | 2 páginas