Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula5 Arvore de Busca Binaria
Aula5 Arvore de Busca Binaria
Seja A uma árvore binária cuja raiz armazena um item r. Dizemos que A é uma árvore de
busca binária ou ordenada, se e somente se:
• Todo item armazenado na subárvore esquerda de A é menor que r;
• Todo item armazenado na subárvore direita de A é maior ou igual a r;
• Cada subárvore de A também é uma árvore de busca binária.
http://www.cs.jhu.edu/~goodrich/dsa/trees/btree.html
Operações básicas
1
Árvore binária de busca – Aula 3
Para começar, vamos introduzir uma nova função chamada folha() que terá a
responsabilidade de criar um novo nó na árvore apontando para NULL em suas ramificações:
noh* folha(int x){
noh* n;
n = (noh*) malloc(sizeof(noh));
n>esq=NULL;
n>dir=NULL;
n>valor=x;
return n;
}
void inserir(int x, noh **a)
{
if (vazia(*a))
*a = folha(x);
else if ((*a)>valor < x)
inserir(x,&(*a)>dir);
else if ((*a)>valor > x)
inserir(x,&(*a)>esq);
}
A função vazia() verifica se o nó passado por parâmetro é ou não vazio, retornando True (1)
ou False (0).
A última função importante é a emordem() que apresentará todos os nós segundo o percurso
“em ordem” estudado nas aulas anteriores.
Referências:
Pereira, Silvio do Lago. Estruturas de Dados Fundamentais: Conceitos e Aplicações. São
Paulo: Érica, 2008.
Wikibooks. Árvores binárias. Disponível em < http://pt.wikibooks.org/wiki/Programar_
em_C/%C3%81rvores_bin%C3%A1rias>. Acesso em 10/06/2010.
W. Celes e J. L. Range. Árvores. Disponível em <http://www.scribd.com/doc/ 26510953/
Estrutura-de-dados-Arvore-binaria>. Acesso em 28/07/2010.