Escolar Documentos
Profissional Documentos
Cultura Documentos
Matheus Franco
Estrutura de Dados II
Computação
Diversas aplicações necessitam de estruturas
mais complexas que as listas, pilhas e filas
Para várias aplicações a melhor solução é a
utilização de árvores que são uma estrutura não-
linear, ou melhor, uma estrutura hierárquica.
É um tipo abstrato de dados que armazena
elementos de uma forma hierárquica.
A busca sequencial tradicional é O(N). Não é
eficiente, mas permite inserções e remoções
rápidas. A inserção pode ser feita no final da
tabela, pois a ordem não precisa ser
preservada. A remoção pode ser feita
simplesmente pela substituição do elemento
removido por um valor especial que não faz
parte da tabela. Entretanto, é importante
notar que uma inserção ou remoção é quase
sempre precedida por uma busca
A busca binária é O(log n). É muito eficiente, mas
a tabela deve estar em ordem crescente ou
decrescente. Portanto inserções e remoções são
muito ineficientes. Para inserir ou remover
mantendo a ordem, é necessário deslocar parte
da tabela.
A situação ideal seria um algoritmo que tivesse a
eficiência da busca binária O(log n), permitisse
inserções e remoções rápidas e que a tabela
ocupasse somente o espaço necessário. Isso é
conseguido quando a tabela tem uma estrutura
em árvore de busca.
Chamamos de Árvores, um conjunto finito T de nós ou vértices,
+
2 - 3 b
a 1
Árvore binária associada com um processo de decisão
◦ Nós internos: questões com respostas sim/não
◦ Nós externos: decisões
Exemplo: Irá jogar ou não baseado em atributos.
Os índices aceleram a recuperação
dos dados. Índices são sempre bem
vindos em colunas de grande
seletividade, como por exemplo,
além da chave primária, que muitas
vezes pode circular como
identificador único da entidade na
sua aplicação, você pode ter também
um índice para colunas que poderão
lhe auxiliar em consultas em que
estas contarão com a cláusula
WHERE, precisando ou não usar os
operadores AND, OR ou NOT, que
muitas vezes, em casos específicos,
alteram a performance da consulta.
Uma árvore binária é uma árvore de grau 2,
isto é, nenhum nó tem mais dois filhos.
Todos devem ter 0, 1 ou 2 filhos no máximo.
Para implementar árvores binárias, usamos
tipos de dados abstratos.
Árvore de busca binária onde os elementos
são organizados de forma que:
x
y<x z >= x
21
É uma árvore binária em que cada nó tem 0
ou 2 filhos
Construir uma Árvore Binária a partir da
seguinte lista de valores: 4,1,6,5,3,2 e 7.
1 6
3 5 7
2
Construa uma árvore binária com os seguintes
valores 50, 20, 39, 8, 79, 26, 58, 15,88, 85,
96, 71, 42, 53. Diga também seu grau e altura.
50
20 79
8 39 58 88
15 26 42 53 71 85 96
Criar uma árvore binária com os seguintes
valores: 5,3,1,8,6,9,7,4,0,2
Dada a seguinte árvore: