Você está na página 1de 24

Estrutura de Dados

Carlos Alberto Teixeira Batista E-mail: carlos@facape.br carlos36_batista@yahoo.com.br Segundo Semestre ² 2009

Árvores

São estruturas de dados adequadas para a representação de hierarquias. Uma árvore é composta por um conjunto de nós. Existe um nó r, denominado raiz, que contém zero ou mais subárvores, cujas raízes são ligadas diretamente a r. A raiz se liga a um ou mais elementos, e cada um destes forma uma nova subárvore. Esses elementos são seus galhos ou filhos.

Nó não terminal é um nó que não é uma folha e é diferente da raiz. y y y . não possui subárvores. FOLHA ² um nó que possui grau zero. FILHOS ² são as raízes das subárvores de um nó.Árvores Fundamentos básicos y GRAU ² número de subárvores de um nó. ou seja.

Árvores Fundamentos básicos y A altura de uma árvore é o comprimento do caminho mais longo da raiz até uma das folhas. Todos os nós são acessíveis a partir da raiz. Uma árvore nula tem altura 0. y y y . Existe um único caminho entre a raiz e qualquer outro nó.

Árvores Formas de representação gráfica .

ou então tem as seguintes características: y Existe um nó especial denominado raiz. ou seja. Nenhum nó tem grau superior a 2 (dois). nenhum nó tem mais de dois filhos.Árvores Binárias Árvore Binária: Uma árvore binária é uma árvore que pode ser nula. distingue-se entre uma subárvore esquerda e uma subárvore direita. y y . isto é. Existe um ´senso de posiçãoµ.

Árvores Binárias Atravessamento (ou caminhamento) de árvore é a passagem de forma sistemática por cada um de seus nós. Diferentes formas de percorrer os nós de uma árvore: Pré-ordem ou prefixa (busca em profundidade) y Em ordem ou infixa (ordem central) y Pós-ordem ou posfixa y Em nível y .

segundo este caminhamento.Árvores Binárias Pré-ordem y (prefixa) visitar a raiz. y caminhar na subárvore à esquerda. y caminhar na subárvore à direita. . segundo este caminhamento.

. y visitar a raiz. y caminhar na subárvore à direita. segundo este caminhamento. segundo este caminhamento.Árvores Binárias Atravessamento y em ordem (infixa) caminhar na subárvore à esquerda.

y b) caminhar na subárvore à direita. . segundo este caminhamento.Árvores Binárias Atravessamento y pós-ordem (posfixa) a) caminhar na subárvore à esquerda. segundo este caminhamento. y c) visitar a raiz.

.Árvores Binárias Atravessamento y em nível Percorre-se a árvore de cima para baixo e da direita para a esquerda.

ou seja. nenhum nó tem ´filho únicoµ. .Árvores Binárias Árvore Estritamente Binária: y É uma árvore binária na qual todo nó tem 0 ou 2 subárvores.

.Árvores Binárias Árvore Binária Cheia y Todos os nós. y Uma árvore binária cheia de altura h tem 2h ² 1 nós. exceto os do último nível. possuem exatamente duas subárvores.

Árvores Binárias Árvore Degenerada y Cada nó possui exatamente um filho. e a árvore tem o mesmo número de níveis que de nós .

y Nenhum elemento da subárvore direita é menor que o elemento raiz. As subárvores direita e esquerda também são árvores de busca binária. y .Árvore Binária de Busca Uma árvore é denominada árvore binária de busca se: y Todo elemento da subárvore esquerda é menor que o elemento raiz.

em todos os nós da subárvore. y y . então deve buscarse na subárvore da esquerda. o valor existe na árvore.Árvore Binária de Busca Busca y Se o valor for igual à raiz. Se o valor for menor do que a raiz. deve-se buscar na subárvore da direita. Se o valor for maior que a raiz. e assim recursivamente. até alcançar-se o nó folha da árvore. encontrando ou não o valor requerido.

Compara a chave a ser inserida com a chave do nó analisado: y y Se menor.Árvore Binária de Busca Inserção y Se a árvore estiver vazia. Se maior. y . cria um novo no e insere as informações do novo nó. insere a chave na subárvore direita. insere a chave na subárvore esquerda.

Árvore Binária de Busca Inserção Exemplo: y Inserir os seguintes elementos: 7. 5. 13. 20. . 1. 4. 11 . 18.

Árvore Binária de Busca Remoção A remoção de um nó é um processo mais complexo. Para excluir um nó de uma árvore binária de busca. há de se considerar três casos distintos: y Remoção na folha Remoção de um nó com um filho Remoção de um nó com dois filhos y y .

Árvore Binária de Busca Remoção na folha y A exclusão na folha é a mais simples. . basta removê-lo da árvore.

.Árvore Binária de Busca Remoção de um nó com um filho y Excluindo-o. o filho sobe para a posição do pai.

Substitui-se o valor do nó a ser retirado pelo valor antecessor (o nó mais à direita da subárvore esquerda) 2. . Substitui-se o valor do nó a ser retirado pelo valor sucessor (o nó mais à esquerda da subárvore direita). pode-se operar de duas maneiras diferentes: 1.Árvore Binária de Busca Remoção de um nó com dois filhos y Neste caso.

.Árvore Binária de Busca Remoção de um nó com dois filhos y Exemplo de remoção substituindo o nó pelo seu antecessor.

.Árvore Binária de Busca Remoção de um nó com dois filhos y Exemplo de remoção substituindo o nó pelo seu sucessor.