TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Redes Neurais

Por:   •  1/6/2015  •  Trabalho acadêmico  •  1.254 Palavras (6 Páginas)  •  416 Visualizações

Página 1 de 6

#include <stdio.h>

#include <stdlib.h>

#include "arvore.h"

#include "AVL.h"

arvore * criaArvore()

{

arvore *sentinela;

sentinela = (arvore*)calloc(1,sizeof(arvore));

sentinela->raiz = -1000;

sentinela->esq = NULL;

sentinela->dir = NULL;

sentinela->pai = NULL;

return sentinela;

}

void insereNo(arvore *A, int num)

{

arvore *novoNo, *aux, *auxPai;

novoNo = (arvore*)calloc(1,sizeof(arvore));

novoNo->raiz = num;

novoNo->bal = 0;

novoNo->esq = novoNo->dir = novoNo->pai = NULL;

if (A->dir == NULL)

{

A->dir = novoNo;

novoNo->pai = A;

return;

}

aux = A->dir;

while (aux != NULL)

{

auxPai = aux;

if (num < aux->raiz)

aux = aux->esq;

else

aux = aux->dir;

}

if (num < auxPai->raiz)

auxPai->esq = novoNo;

else

auxPai->dir = novoNo;

novoNo->pai = auxPai;

}

void percorreOrdem (arvore *A)

{

if (A == NULL)

return;

percorreOrdem(A->esq);

printf(" %d ", A->raiz);

percorreOrdem(A->dir);

}

arvore *busca(arvore *A,int num){

arvore *aux;

if(!A->dir)

return NULL;

aux = A->dir;

if(aux->raiz < num)

aux = busca(aux->esq,num);

else

if(aux->raiz > num)

aux = busca(aux->dir,num);

else

return aux;

}

int grau(arvore *A,int num){

arvore *aux = busca(A,num);

if(!aux)

return;

if(!aux->esq && !aux->dir)

return 0;

else

if(aux->esq && aux->dir)

return 2;

else

return 1;

}

arvore *predecessor(arvore *A){

arvore *aux = A->esq;

while(aux->esq)

aux = aux->dir;

return aux;

}

...

Baixar como (para membros premium)  txt (3.3 Kb)   pdf (41.6 Kb)   docx (12.3 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com