Arvore Binaria

692 palavras 3 páginas
#include
#include
#include

//Definicao da arvore typedef struct nodo{ char info; struct nodo * esquerda; struct nodo * direita;
}nodo;

//Criacao de um nodo da arvore nodo * cria_elemento(char info){ nodo * novo = malloc(sizeof(nodo)); novo->info = info; novo->esquerda = NULL; novo->direita = NULL; return novo;
}

//Inclusao de um nodo na arvore void inserir_elemento(nodo ** raiz, nodo * novo){ if (*raiz == NULL){ *raiz = novo; }else{ if(novo->info < (*raiz)->info){ inserir_elemento(&(*raiz)->esquerda, novo); }else if (novo->info > (*raiz)->info){ inserir_elemento(&(*raiz)->direita, novo); } }
}

void pre_ordem(nodo * arv) { if (arv != NULL) { printf(" %c ", arv->info); pre_ordem(arv->esquerda); pre_ordem(arv->direita); }
}

void em_ordem(nodo * arv) { if (arv != NULL) { em_ordem(arv->esquerda); printf(" %c ", arv->info); em_ordem(arv->direita); }
}

void pos_ordem(nodo * arv) { if (arv != NULL) { pos_ordem(arv->esquerda); pos_ordem(arv->direita); printf(" %c ", arv->info); }
}

nodo * busca_elemento(nodo * arv, char info) { nodo * retorno = NULL; if (arv != NULL) { if (info < arv->info) { retorno = busca_elemento(arv->esquerda, info); } else if (info > arv->info) { retorno = busca_elemento(arv->direita, info); } else if (info == arv->info) { retorno = arv; } } else { retorno = NULL; } return retorno;
}

int nivel_elemento(nodo * arv, char info) { int nivel = 0; nodo * pesquisa = busca_elemento(arv, info);

if (pesquisa != NULL) { if (arv != NULL) { if (info < arv->info) { nivel = nivel_elemento(arv->esquerda, info); nivel++; } else if (info > arv->info) {

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
    555 palavras | 3 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