Вы находитесь на странице: 1из 4

ÁRVORES BINÁRIAS

Carlos Alexandre Silva dos Santos1

RESUMO

O artigo tem como objetivo evidenciar a importância da escolha da estrutura de dados para
a resolução do problema de programação; abordar alguns conceitos e propriedades de árvores
binárias; mostrar exemplos de aplicações de árvores binárias; discutir a importância das árvores
binárias utilizadas em programas de gerenciamento de banco de dados.

PALAVRAS-CHAVE: estrutura de dados, árvores binárias

BINARY TREES
ABSTRACT

This paper has as objective to evidence the importance of the choice of the data structure for the
resolution of the programming problem; to present some concepts and properties of binary trees; to show
examples of applications of binary trees; to argue the importance of binary trees used in programs of data base
management.

KEYWORDS: data structure, binary trees

1 INTRODUÇÃO

“Programas consistem, basicamente, em duas coisas: algoritmos e estruturas de dados.


Um bom programa é uma combinação de ambos. A escolha e a implementação de uma
estrutura de dados são tão importantes quanto às rotinas que manipulam os dados. A forma
como a informação é organizada e acessada é normalmente determinada pela natureza do
problema de programação. Por essa razão, é importante ter o método certo de armazenamento
e recuperação, para uma variedade de situações.”, Schildt.
É necessária a escolha da estrutura de dados ideal para resolução do problema de
programação, pois a mesma é determinante para definir os limites do programa.

1
Bacharelando em Informática - Sistemas de Informação, URCAMP, Alegrete-RS; Técnico em Informática -
EAFA, Alegrete-RS; carlos_silvasantos@yahoo.com.br
2 CONCEITO

Embora possa haver muitos tipos diferentes de árvores, árvores binárias são especiais
porque, quando ordenadas, permitem pesquisas, inserções e exclusões rápidas. Cada item em
uma árvore consiste em informação juntamente com um elo ao membro esquerdo e um elo ao
membro direito. Outra definição possível: árvores binárias são árvores que ou são nulas ou
são constituídas por um nó raiz e duas subárvores binárias, a subárvore esquerda e a subárvore
direita (por sua vez cada uma destas subárvores ou são nulas ou constituídas por um nó raiz e
duas subárvores binárias, a subárvore esquerda e a subárvore direita).

3 PROPRIEDADES

As árvores binárias possuem algumas propriedades importantes:

• Uma árvore binária com n elementos tem n-1 ramos;

• Uma árvore binária de altura h tem no mínimo h elementos e no máximo 2 h+1 -1;

• Uma árvore binária com 2 h+1 -1 elementos diz-se cheia;

• A altura de uma árvore binária com n elementos (n>0) é no máximo n-1 e no mínimo
[log (n+1)]-1, uma vez que:
2
n= 2 h+1 -1
2 h+1 = n + 1
log (2 h+1 ) = log (n + 1)
2 2
h = log (n + 1) – 1
2

• Numa árvore binária cheia o número de nós folha é igual ao número de nós internos
+ 1.
4 MÉTODOS DE TRAVESSIA

Segundo Preiss há basicamente quatro métodos de travessia (maneira utilizada para


visitar os nós da árvore para pesquisar uma determinada informação), em uma árvore binária.

4.1 Visita em pré-ordem

Visita o nó raiz, e depois percorre a subárvore esquerda, e depois percorre a subárvore


da direita.

4.2 Visita em pós-ordem

Percorre a subárvore da esquerda, percorre a subárvore da direita e visita o nó raiz.

4.3 Visita em ordem simétrica

Percorre a subárvore da esquerda, visita a raiz, e percorre a subárvore da direita.

4.4 Percurso em largura

Enquanto os percursos em profundidade são definidos recursivamente, o percurso em


largura é mais bem compreendido de forma não-recursiva. O percurso em largura de uma
árvore visita os nós na ordem dos níveis da árvore. O percurso em largura primeiro visita
todos os nós do nível 0, depois todos os nós do nível um, e daí por diante. Os nós são
visitados da esquerda para a direita em cada um dos níveis.

5 APLICAÇÕES

Este tipo de estrutura tem uma larga aplicação em computação. Um exemplo é a árvore
de decisão utilizada em Inteligência Artificial onde há situações em que se pretende chegar a
uma conclusão dentro de um determinado domínio, através de respostas do tipo "sim" ou
"não", às questões que são formuladas. A cada nó interno está associada uma pergunta, e se a
resposta for "sim" avançaremos para o filho esquerdo, caso seja "não" para o direito. A cada
folha corresponde uma conclusão.
Outra aplicação possível é a representação de expressões aritméticas em que aos nós
internos associamos operadores e às folhas associamos variáveis ou constantes. Cada nó tem
um valor associado, se for folha é o valor da constante ou da variável, se for interno é o valor
que resulta efetuando a operação, que o operador representa, aos valores dos seus filhos.

6 CONCLUSÃO

A velocidade das decisões nos negócios é importante para a eficiência dos resultados.
Imagine um sistema com um tráfego de dados grande (inclusões, alterações, exclusões), e que
o tempo de acesso a esses dados seja vital para uma tomada de decisão. Árvores binárias são
importantes porque oferecem grande poder, flexibilidade e eficiência quando usadas em
programas de gerenciamento de bando de dados. Isso ocorre porque a informação para esses
bancos de dados deve residir em disco e os tempos de acesso são importantes. Como uma
árvore balanceada tem, no pior caso, log n comparações em uma pesquisa, ela se comporta
2
melhor que uma lista encadeada, que depende de uma busca seqüencial.

REFERÊNCIAS

SCHILDT, Herbert. C, completo e total – 3ª edição; tradução de Roberto Carlos Mayer. São
Paulo: Makron Books, 1996.

PREISS, Bruno R. Estruturas de dados e algoritmos: Padrões de projetos orientados a objeto


com Java; tradução de Elizabeth Ferreira. Rio de Janeiro: Campus, 2000.

Вам также может понравиться