Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Algoritmo de Inserção em Árvore Binária, Exercícios de Informática

Um algoritmo de inserção em árvore binária, que permite a realização de operações de busca, inserção e percorrimento em ordem. O código é escrito em c e inclui funções para criar a árvore, inserir novos elementos, realizar a busca de um elemento e percorrer a árvore em pré-ordem e em ordem. O usuário interage com o programa fornecendo códigos para inserção e busca.

Tipologia: Exercícios

2012

Compartilhado em 28/11/2012

danilorei-sn-9
danilorei-sn-9 🇧🇷

1 documento

1 / 3

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
#include <stdio.h>
#include <stdlib.h>
typedef struct arvore no;
struct arvore {
int numero;
no*esq,*dir;
};
no*raiz=NULL;
void insere(no *novo)
{
no *aux=raiz;
if(aux==NULL)
{
raiz=novo;
return;
}
while (1)
{
if (novo->numero <= aux->numero)
{
if(aux->esq==NULL)
{
aux->esq =novo;
return;
}
else
aux=aux->esq;
}
else
{
if(aux->dir==NULL)
{
aux->dir =novo;
return;
}
else
aux =aux->dir;
}
}
}
void entrada()
{
no*novo;
novo=(no*)malloc(sizeof(no));
pf3

Pré-visualização parcial do texto

Baixe Algoritmo de Inserção em Árvore Binária e outras Exercícios em PDF para Informática, somente na Docsity!

#include <stdio.h> #include <stdlib.h> typedef struct arvore no; struct arvore { int numero; noesq,dir; }; no*raiz=NULL; void insere(no novo) { no aux=raiz; if(aux==NULL) { raiz=novo; return; } while ( 1 ) { if (novo->numero <= aux->numero) { if(aux->esq==NULL) { aux->esq =novo; return; } else aux=aux->esq; } else { if(aux->dir==NULL) { aux->dir =novo; return; } else aux =aux->dir; } } } void entrada() { nonovo; novo=(no)malloc(sizeof(no));

printf("Informe um codigo"); scanf("%d", &novo->numero); novo->esq=NULL; novo->dir=NULL; insere(novo); } void pesquisa() { no aux=raiz; int chave; printf("\n Informe o numero:"); scanf("%d",&chave); while (aux!=NULL) { if(chave <= aux->numero ) { if (aux->numero == chave) { printf("\n Achou %d", aux->numero); getchar(); return; } else aux=aux->esq; } else aux=aux->dir; }//fim while printf("\n Nao encontrou"); } void pre(noraiz) { if(raiz!=NULL) { printf("\n %d ", raiz->numero); pre(raiz->esq); pre(raiz->dir); } } void In_order(no*raiz) {