SlideShare uma empresa Scribd logo
1 de 65
Baixar para ler offline
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada
Visão Geral, Características e Conceitos Associados
Michel Alves dos Santos
Universidade Federal de Alagoas, Campus A. C. Simões
Tabuleiro do Martins - Maceió - AL, CEP: 57072-970
Centro de Pesquisa em Matemática Computacional
Docente Responsável: Prof. Dr. Thales Vieira
17 de Novembro 2011
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Sumário
Tópicos Centrais da Explanação
• Árvores, Arborescências e Árvore Balanceada;
• Aplicações da Árvore Binária Balanceada;
• Complexidade: Busca, Inserção e Deleção;
• Uso em Problemas Práticos;
• As Proto-classes Node e BinaryTree;
• Comparações Entre Árvores;
• Conclusões.
Primeiramente iremos esclarecer alguns conceitos primordiais sobre
a caracterização de uma árvore e logo após iremos definir
realmente o significado do nosso objeto de estudo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Sumário
Tópicos Centrais da Explanação
• Árvores, Arborescências e Árvore Balanceada;
• Aplicações da Árvore Binária Balanceada;
• Complexidade: Busca, Inserção e Deleção;
• Uso em Problemas Práticos;
• As Proto-classes Node e BinaryTree;
• Comparações Entre Árvores;
• Conclusões.
Primeiramente iremos esclarecer alguns conceitos primordiais sobre
a caracterização de uma árvore e logo após iremos definir
realmente o significado do nosso objeto de estudo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Sumário
Tópicos Centrais da Explanação
• Árvores, Arborescências e Árvore Balanceada;
• Aplicações da Árvore Binária Balanceada;
• Complexidade: Busca, Inserção e Deleção;
• Uso em Problemas Práticos;
• As Proto-classes Node e BinaryTree;
• Comparações Entre Árvores;
• Conclusões.
Primeiramente iremos esclarecer alguns conceitos primordiais sobre
a caracterização de uma árvore e logo após iremos definir
realmente o significado do nosso objeto de estudo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Sumário
Tópicos Centrais da Explanação
• Árvores, Arborescências e Árvore Balanceada;
• Aplicações da Árvore Binária Balanceada;
• Complexidade: Busca, Inserção e Deleção;
• Uso em Problemas Práticos;
• As Proto-classes Node e BinaryTree;
• Comparações Entre Árvores;
• Conclusões.
Primeiramente iremos esclarecer alguns conceitos primordiais sobre
a caracterização de uma árvore e logo após iremos definir
realmente o significado do nosso objeto de estudo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Sumário
Tópicos Centrais da Explanação
• Árvores, Arborescências e Árvore Balanceada;
• Aplicações da Árvore Binária Balanceada;
• Complexidade: Busca, Inserção e Deleção;
• Uso em Problemas Práticos;
• As Proto-classes Node e BinaryTree;
• Comparações Entre Árvores;
• Conclusões.
Primeiramente iremos esclarecer alguns conceitos primordiais sobre
a caracterização de uma árvore e logo após iremos definir
realmente o significado do nosso objeto de estudo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Sumário
Tópicos Centrais da Explanação
• Árvores, Arborescências e Árvore Balanceada;
• Aplicações da Árvore Binária Balanceada;
• Complexidade: Busca, Inserção e Deleção;
• Uso em Problemas Práticos;
• As Proto-classes Node e BinaryTree;
• Comparações Entre Árvores;
• Conclusões.
Primeiramente iremos esclarecer alguns conceitos primordiais sobre
a caracterização de uma árvore e logo após iremos definir
realmente o significado do nosso objeto de estudo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Sumário
Tópicos Centrais da Explanação
• Árvores, Arborescências e Árvore Balanceada;
• Aplicações da Árvore Binária Balanceada;
• Complexidade: Busca, Inserção e Deleção;
• Uso em Problemas Práticos;
• As Proto-classes Node e BinaryTree;
• Comparações Entre Árvores;
• Conclusões.
Primeiramente iremos esclarecer alguns conceitos primordiais sobre
a caracterização de uma árvore e logo após iremos definir
realmente o significado do nosso objeto de estudo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Sumário
Tópicos Centrais da Explanação
• Árvores, Arborescências e Árvore Balanceada;
• Aplicações da Árvore Binária Balanceada;
• Complexidade: Busca, Inserção e Deleção;
• Uso em Problemas Práticos;
• As Proto-classes Node e BinaryTree;
• Comparações Entre Árvores;
• Conclusões.
Primeiramente iremos esclarecer alguns conceitos primordiais sobre
a caracterização de uma árvore e logo após iremos definir
realmente o significado do nosso objeto de estudo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Sumário
Tópicos Centrais da Explanação
• Árvores, Arborescências e Árvore Balanceada;
• Aplicações da Árvore Binária Balanceada;
• Complexidade: Busca, Inserção e Deleção;
• Uso em Problemas Práticos;
• As Proto-classes Node e BinaryTree;
• Comparações Entre Árvores;
• Conclusões.
Primeiramente iremos esclarecer alguns conceitos primordiais sobre
a caracterização de uma árvore e logo após iremos definir
realmente o significado do nosso objeto de estudo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
O que é uma Árvore?
Conceito Matemático de Árvore
Uma árvore é um grafo conexo e sem ciclos.
Lembrete
Grafo constitui um objeto matemático formado por dois conjuntos. O primeiro,
chamado de V , é o conjunto dos vértices. O outro é um conjunto de relações entre
vértices, chamado de conjunto das arestas e é representado por E.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
O que é uma Árvore?
Conceito Matemático de Árvore
Uma árvore é um grafo conexo e sem ciclos.
Figura: Construção de um grafo conexo com 6 vértices. Há várias soluções para
este tipo de construção, mas o que as soluções apresentadas possuem em comum?
Todas tem 5 arestas e nenhuma contém ciclos.
Lembrete
Grafo constitui um objeto matemático formado por dois conjuntos. O primeiro,
chamado de V , é o conjunto dos vértices. O outro é um conjunto de relações entre
vértices, chamado de conjunto das arestas e é representado por E.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
O que é uma Árvore?
Conceito Matemático de Árvore
Uma árvore é um grafo conexo e sem ciclos.
Figura: Construção de um grafo conexo com 6 vértices. Há várias soluções para
este tipo de construção, mas o que as soluções apresentadas possuem em comum?
Todas tem 5 arestas e nenhuma contém ciclos.
Lembrete
Grafo constitui um objeto matemático formado por dois conjuntos. O primeiro,
chamado de V , é o conjunto dos vértices. O outro é um conjunto de relações entre
vértices, chamado de conjunto das arestas e é representado por E.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Caracterização das Árvores.
Como podemos caracterizar uma árvore?
Três características são primordiais em uma árvore:
Seja T uma árvore com n vértices. Então:
1 T é conexo e sem ciclos;
2 T é conexo e possui n − 1 arestas;
3 Cada aresta e de T é uma ponte.
Lembrete
Uma ponte é uma aresta cuja retirada desconecta o grafo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Caracterização das Árvores.
Como podemos caracterizar uma árvore?
Três características são primordiais em uma árvore:
Figura: Construção de um grafo conexo e um não-conexo com 6 vértices.
Seja T uma árvore com n vértices. Então:
1 T é conexo e sem ciclos;
2 T é conexo e possui n − 1 arestas;
3 Cada aresta e de T é uma ponte.
Lembrete
Uma ponte é uma aresta cuja retirada desconecta o grafo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Caracterização das Árvores.
Como podemos caracterizar uma árvore?
Três características são primordiais em uma árvore:
Figura: Construção de um grafo conexo e um não-conexo com 6 vértices.
Seja T uma árvore com n vértices. Então:
1 T é conexo e sem ciclos;
2 T é conexo e possui n − 1 arestas;
3 Cada aresta e de T é uma ponte.
Lembrete
Uma ponte é uma aresta cuja retirada desconecta o grafo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Caracterização das Árvores.
Como podemos caracterizar uma árvore?
Três características são primordiais em uma árvore:
Figura: Construção de um grafo conexo e um não-conexo com 6 vértices.
Seja T uma árvore com n vértices. Então:
1 T é conexo e sem ciclos;
2 T é conexo e possui n − 1 arestas;
3 Cada aresta e de T é uma ponte.
Lembrete
Uma ponte é uma aresta cuja retirada desconecta o grafo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Caracterização das Árvores.
Como podemos caracterizar uma árvore?
Três características são primordiais em uma árvore:
Figura: Construção de um grafo conexo e um não-conexo com 6 vértices.
Seja T uma árvore com n vértices. Então:
1 T é conexo e sem ciclos;
2 T é conexo e possui n − 1 arestas;
3 Cada aresta e de T é uma ponte.
Lembrete
Uma ponte é uma aresta cuja retirada desconecta o grafo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Caracterização das Árvores.
Como podemos caracterizar uma árvore?
Três características são primordiais em uma árvore:
Figura: Construção de um grafo conexo e um não-conexo com 6 vértices.
Seja T uma árvore com n vértices. Então:
1 T é conexo e sem ciclos;
2 T é conexo e possui n − 1 arestas;
3 Cada aresta e de T é uma ponte.
Lembrete
Uma ponte é uma aresta cuja retirada desconecta o grafo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Caracterização das Árvores.
Como podemos caracterizar uma árvore?
Três características são primordiais em uma árvore:
Figura: Construção de um grafo conexo e um não-conexo com 6 vértices.
Seja T uma árvore com n vértices. Então:
1 T é conexo e sem ciclos;
2 T é conexo e possui n − 1 arestas;
3 Cada aresta e de T é uma ponte.
Lembrete
Uma ponte é uma aresta cuja retirada desconecta o grafo.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Arborescências.
O que é uma arborescência?
Tipo de árvore na qual consideramos a orientação. Na arborescência, a
direção dos arcos é considerada.
Propriedades das arborescências:
1 Existe um vértice sem antecessores (a raiz);
2 Todos os vértices (fora a raiz) possuem exatamente um único antecessor.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Arborescências.
O que é uma arborescência?
Tipo de árvore na qual consideramos a orientação. Na arborescência, a
direção dos arcos é considerada.
Figura: Como cada aresta da arborescência representa uma ponte, basta escolher
um vértice como ‘raiz’ e teremos uma orientação ‘natural’ da árvore.
Propriedades das arborescências:
1 Existe um vértice sem antecessores (a raiz);
2 Todos os vértices (fora a raiz) possuem exatamente um único antecessor.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Arborescências.
O que é uma arborescência?
Tipo de árvore na qual consideramos a orientação. Na arborescência, a
direção dos arcos é considerada.
Figura: Como cada aresta da arborescência representa uma ponte, basta escolher
um vértice como ‘raiz’ e teremos uma orientação ‘natural’ da árvore.
Propriedades das arborescências:
1 Existe um vértice sem antecessores (a raiz);
2 Todos os vértices (fora a raiz) possuem exatamente um único antecessor.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Arborescências.
O que é uma arborescência?
Tipo de árvore na qual consideramos a orientação. Na arborescência, a
direção dos arcos é considerada.
Figura: Como cada aresta da arborescência representa uma ponte, basta escolher
um vértice como ‘raiz’ e teremos uma orientação ‘natural’ da árvore.
Propriedades das arborescências:
1 Existe um vértice sem antecessores (a raiz);
2 Todos os vértices (fora a raiz) possuem exatamente um único antecessor.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Arborescências.
O que é uma arborescência?
Tipo de árvore na qual consideramos a orientação. Na arborescência, a
direção dos arcos é considerada.
Figura: Como cada aresta da arborescência representa uma ponte, basta escolher
um vértice como ‘raiz’ e teremos uma orientação ‘natural’ da árvore.
Propriedades das arborescências:
1 Existe um vértice sem antecessores (a raiz);
2 Todos os vértices (fora a raiz) possuem exatamente um único antecessor.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Arborescência Binária.
O que é uma arborescência binária?
Uma das arborescências de uso mais frequente é a arborescência binária
(usualmente chamada de árvore binária), que se caracteriza pela seguinte
propriedade adicional:
Propriedade adicional das arborescências binárias:
1 Todos os vértices têm, no máximo, 2 sucessores, ou seja ∆ ≤ 2.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Arborescência Binária.
O que é uma arborescência binária?
Uma das arborescências de uso mais frequente é a arborescência binária
(usualmente chamada de árvore binária), que se caracteriza pela seguinte
propriedade adicional:
Figura: Os nós de uma árvore binária possuem graus zero, um ou dois. Um nó de
grau zero é denominado folha. A raiz possui profundidade 0. Os sucessores diretos
da raiz possuem profundidade 1. Em suma, uma árvore binária é definida como um
grafo acíclico, conexo, dirigido e que cada nó não tem grau maior que 2. Logo, só
existe um caminho entre dois nós distintos.
Propriedade adicional das arborescências binárias:
1 Todos os vértices têm, no máximo, 2 sucessores, ou seja ∆ ≤ 2.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Arborescência Binária.
O que é uma arborescência binária?
Uma das arborescências de uso mais frequente é a arborescência binária
(usualmente chamada de árvore binária), que se caracteriza pela seguinte
propriedade adicional:
Figura: Os nós de uma árvore binária possuem graus zero, um ou dois. Um nó de
grau zero é denominado folha. A raiz possui profundidade 0. Os sucessores diretos
da raiz possuem profundidade 1. Em suma, uma árvore binária é definida como um
grafo acíclico, conexo, dirigido e que cada nó não tem grau maior que 2. Logo, só
existe um caminho entre dois nós distintos.
Propriedade adicional das arborescências binárias:
1 Todos os vértices têm, no máximo, 2 sucessores, ou seja ∆ ≤ 2.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Arborescência Binária.
O que é uma arborescência binária?
Uma das arborescências de uso mais frequente é a arborescência binária
(usualmente chamada de árvore binária), que se caracteriza pela seguinte
propriedade adicional:
Figura: Os nós de uma árvore binária possuem graus zero, um ou dois. Um nó de
grau zero é denominado folha. A raiz possui profundidade 0. Os sucessores diretos
da raiz possuem profundidade 1. Em suma, uma árvore binária é definida como um
grafo acíclico, conexo, dirigido e que cada nó não tem grau maior que 2. Logo, só
existe um caminho entre dois nós distintos.
Propriedade adicional das arborescências binárias:
1 Todos os vértices têm, no máximo, 2 sucessores, ou seja ∆ ≤ 2.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Caracterizando Árvore Binária Balanceada
Uma árvore binária é dita balanceada se, para cada nó, as alturas de suas
sub-árvores diferem de, no máximo 1.
Uma árvore binária balanceada, chamada de árvore AVL (em homenagem
aos matemáticos russos G.M. Adelson-Velskii e E.M. Landis), é uma
árvore binária na qual as alturas das duas sub-árvores de cada um dos nós,
nunca diferem em mais de 1 unidade.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Caracterizando Árvore Binária Balanceada
Uma árvore binária é dita balanceada se, para cada nó, as alturas de suas
sub-árvores diferem de, no máximo 1.
Figura: Uma árvore é totalmente balanceada quando para cada nó, o número de
nós em cada uma de suas sub-árvores difere em no máximo 1 de profundidade. A
primeira aparição dessa estrutura, foi em 1962 no artigo ‘An algorithm for the
organization of information’, de autoria dos Soviéticos Adelson-Velskii e Landis.
Uma árvore binária balanceada, chamada de árvore AVL (em homenagem
aos matemáticos russos G.M. Adelson-Velskii e E.M. Landis), é uma
árvore binária na qual as alturas das duas sub-árvores de cada um dos nós,
nunca diferem em mais de 1 unidade.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Caracterizando Árvore Binária Balanceada
Uma árvore binária é dita balanceada se, para cada nó, as alturas de suas
sub-árvores diferem de, no máximo 1.
Figura: Uma árvore é totalmente balanceada quando para cada nó, o número de
nós em cada uma de suas sub-árvores difere em no máximo 1 de profundidade. A
primeira aparição dessa estrutura, foi em 1962 no artigo ‘An algorithm for the
organization of information’, de autoria dos Soviéticos Adelson-Velskii e Landis.
Uma árvore binária balanceada, chamada de árvore AVL (em homenagem
aos matemáticos russos G.M. Adelson-Velskii e E.M. Landis), é uma
árvore binária na qual as alturas das duas sub-árvores de cada um dos nós,
nunca diferem em mais de 1 unidade.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Aplicações da Árvore Binária Balanceada
Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis:
• Arrays associativos (associative arrays: map ou dictionary);
• Coleções baseadas em pares do tipo (key, value);
• Filas de prioridade (priority queues);
• Fila onde cada elemento é associado com uma ‘prioridade’;
• Conjuntos (sets).
• Comumente implementados da mesma maneira que arrays associativos;
• Nessa caso são chamados de sorted sets.
Implementações
• AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Aplicações da Árvore Binária Balanceada
Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis:
• Arrays associativos (associative arrays: map ou dictionary);
• Coleções baseadas em pares do tipo (key, value);
• Filas de prioridade (priority queues);
• Fila onde cada elemento é associado com uma ‘prioridade’;
• Conjuntos (sets).
• Comumente implementados da mesma maneira que arrays associativos;
• Nessa caso são chamados de sorted sets.
Implementações
• AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Aplicações da Árvore Binária Balanceada
Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis:
• Arrays associativos (associative arrays: map ou dictionary);
• Coleções baseadas em pares do tipo (key, value);
• Filas de prioridade (priority queues);
• Fila onde cada elemento é associado com uma ‘prioridade’;
• Conjuntos (sets).
• Comumente implementados da mesma maneira que arrays associativos;
• Nessa caso são chamados de sorted sets.
Implementações
• AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Aplicações da Árvore Binária Balanceada
Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis:
• Arrays associativos (associative arrays: map ou dictionary);
• Coleções baseadas em pares do tipo (key, value);
• Filas de prioridade (priority queues);
• Fila onde cada elemento é associado com uma ‘prioridade’;
• Conjuntos (sets).
• Comumente implementados da mesma maneira que arrays associativos;
• Nessa caso são chamados de sorted sets.
Implementações
• AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Aplicações da Árvore Binária Balanceada
Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis:
• Arrays associativos (associative arrays: map ou dictionary);
• Coleções baseadas em pares do tipo (key, value);
• Filas de prioridade (priority queues);
• Fila onde cada elemento é associado com uma ‘prioridade’;
• Conjuntos (sets).
• Comumente implementados da mesma maneira que arrays associativos;
• Nessa caso são chamados de sorted sets.
Implementações
• AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Aplicações da Árvore Binária Balanceada
Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis:
• Arrays associativos (associative arrays: map ou dictionary);
• Coleções baseadas em pares do tipo (key, value);
• Filas de prioridade (priority queues);
• Fila onde cada elemento é associado com uma ‘prioridade’;
• Conjuntos (sets).
• Comumente implementados da mesma maneira que arrays associativos;
• Nessa caso são chamados de sorted sets.
Implementações
• AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Aplicações da Árvore Binária Balanceada
Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis:
• Arrays associativos (associative arrays: map ou dictionary);
• Coleções baseadas em pares do tipo (key, value);
• Filas de prioridade (priority queues);
• Fila onde cada elemento é associado com uma ‘prioridade’;
• Conjuntos (sets).
• Comumente implementados da mesma maneira que arrays associativos;
• Nessa caso são chamados de sorted sets.
Implementações
• AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Complexidade
Figura: As operações de busca, inserção e eliminação de elementos possuem
complexidade O(logn) (no qual n é o número de elementos da árvore). Inserções e
eliminações podem também requerer o rebalanceamento da árvore, exigindo uma
ou mais rotações.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Uso em Problemas
Árvores binárias balanceadas podems ser usadas para implementar qualquer
algoritmo que requeira o uso de listas ordenadas mutáveis.
Alguns algoritmos em Geometria Computacional exploram variações dessas
estruturas para resolução de problemas como:
• Intersecção de segmentos de reta (line segment intersection)
• O problema da intersecção dos segmentos de reta nos fornece uma lista
de segmentos de reta no plano e nos pede para determinar se quaisquer
dois deles se intersectam (ou cruzam).
• Formas complexas oriundas de operações booleanas (intersecção, união,
diferença), detecção de colisão em robótica e planejamento de
movimento, visibilidade, oclusão;
• Localização de Ponto (point location)
• Dada uma partição do espaço em regiões disjuntas, determinar a região
onde se encontra um ponto de consulta.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Uso em Problemas
Árvores binárias balanceadas podems ser usadas para implementar qualquer
algoritmo que requeira o uso de listas ordenadas mutáveis.
Alguns algoritmos em Geometria Computacional exploram variações dessas
estruturas para resolução de problemas como:
• Intersecção de segmentos de reta (line segment intersection)
• O problema da intersecção dos segmentos de reta nos fornece uma lista
de segmentos de reta no plano e nos pede para determinar se quaisquer
dois deles se intersectam (ou cruzam).
• Formas complexas oriundas de operações booleanas (intersecção, união,
diferença), detecção de colisão em robótica e planejamento de
movimento, visibilidade, oclusão;
• Localização de Ponto (point location)
• Dada uma partição do espaço em regiões disjuntas, determinar a região
onde se encontra um ponto de consulta.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Uso em Problemas
Árvores binárias balanceadas podems ser usadas para implementar qualquer
algoritmo que requeira o uso de listas ordenadas mutáveis.
Alguns algoritmos em Geometria Computacional exploram variações dessas
estruturas para resolução de problemas como:
• Intersecção de segmentos de reta (line segment intersection)
• O problema da intersecção dos segmentos de reta nos fornece uma lista
de segmentos de reta no plano e nos pede para determinar se quaisquer
dois deles se intersectam (ou cruzam).
• Formas complexas oriundas de operações booleanas (intersecção, união,
diferença), detecção de colisão em robótica e planejamento de
movimento, visibilidade, oclusão;
• Localização de Ponto (point location)
• Dada uma partição do espaço em regiões disjuntas, determinar a região
onde se encontra um ponto de consulta.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Uso em Problemas
Árvores binárias balanceadas podems ser usadas para implementar qualquer
algoritmo que requeira o uso de listas ordenadas mutáveis.
Alguns algoritmos em Geometria Computacional exploram variações dessas
estruturas para resolução de problemas como:
• Intersecção de segmentos de reta (line segment intersection)
• O problema da intersecção dos segmentos de reta nos fornece uma lista
de segmentos de reta no plano e nos pede para determinar se quaisquer
dois deles se intersectam (ou cruzam).
• Formas complexas oriundas de operações booleanas (intersecção, união,
diferença), detecção de colisão em robótica e planejamento de
movimento, visibilidade, oclusão;
• Localização de Ponto (point location)
• Dada uma partição do espaço em regiões disjuntas, determinar a região
onde se encontra um ponto de consulta.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Uso em Problemas
Árvores binárias balanceadas podems ser usadas para implementar qualquer
algoritmo que requeira o uso de listas ordenadas mutáveis.
Alguns algoritmos em Geometria Computacional exploram variações dessas
estruturas para resolução de problemas como:
• Intersecção de segmentos de reta (line segment intersection)
• O problema da intersecção dos segmentos de reta nos fornece uma lista
de segmentos de reta no plano e nos pede para determinar se quaisquer
dois deles se intersectam (ou cruzam).
• Formas complexas oriundas de operações booleanas (intersecção, união,
diferença), detecção de colisão em robótica e planejamento de
movimento, visibilidade, oclusão;
• Localização de Ponto (point location)
• Dada uma partição do espaço em regiões disjuntas, determinar a região
onde se encontra um ponto de consulta.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Uso em Problemas
Árvores binárias balanceadas podems ser usadas para implementar qualquer
algoritmo que requeira o uso de listas ordenadas mutáveis.
Alguns algoritmos em Geometria Computacional exploram variações dessas
estruturas para resolução de problemas como:
• Intersecção de segmentos de reta (line segment intersection)
• O problema da intersecção dos segmentos de reta nos fornece uma lista
de segmentos de reta no plano e nos pede para determinar se quaisquer
dois deles se intersectam (ou cruzam).
• Formas complexas oriundas de operações booleanas (intersecção, união,
diferença), detecção de colisão em robótica e planejamento de
movimento, visibilidade, oclusão;
• Localização de Ponto (point location)
• Dada uma partição do espaço em regiões disjuntas, determinar a região
onde se encontra um ponto de consulta.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Line Segment Intersection Problem
Dada uma lista de segmentos de reta no plano determinar se quaisquer dois deles
se intersectam.
Figura: A forma mais comum e eficiente de resolução deste problema é o usando
a estratégia sweep line algorithm juntamente com uma estrutura do tipo árvore
binária balanceada.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Line Segment Intersection Problem
Dada uma lista de segmentos de reta no plano determinar se quaisquer dois deles
se intersectam.
Figura: A forma mais comum e eficiente de resolução deste problema é o usando
a estratégia sweep line algorithm juntamente com uma estrutura do tipo árvore
binária balanceada.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Point Location Problem
Dada uma partição do espaço em regiões disjuntas, determinar a região onde se
encontra um ponto de consulta.
Figura: O problema de localização de pontos é um tema fundamental na
geometria computacional. Esse problema encontra aplicações em áreas que lidam
com o processamento de dados geométricos: sistemas de informação geográfica
(GIS), planejamento de movimento e desenho assistido por computador (CAD).
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Árvore Binária Balanceada.
Point Location Problem
Dada uma partição do espaço em regiões disjuntas, determinar a região onde se
encontra um ponto de consulta.
Figura: O problema de localização de pontos é um tema fundamental na
geometria computacional. Esse problema encontra aplicações em áreas que lidam
com o processamento de dados geométricos: sistemas de informação geográfica
(GIS), planejamento de movimento e desenho assistido por computador (CAD).
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
A Classe Nó Balanceado.
Class Node - Com Fator de Balanceamento
§ ¤
1 /∗ Container that r e p r e s e n t s a node data s t r u c t u r e ∗/
2 c l a s s Node
3 {
4 ObjectData _value ; // v a l u e or key
5 BalanceFactor _ f a c t o r ; // f a c t o r to the b a l a n c i n g
6 Node ∗_r , ∗ _l ; // p o i n t e r s to the r i g h t and l e f t s u b t r e e
7 p u b l i c :
8 /∗ C o n s t r u c t o r ∗/
9 Node ( ObjectData v ) { _value = v ; _r = _l = n u l l ; };
10
11 /∗Method that h a n d l e s the v a l u e of s t o r e d o b j e c t ∗/
12 ObjectData v a l u e ( ) { r e t u r n _value ; };
13 v o i d v a l u e ( ObjectData v ) { _value = v ; };
14
15 /∗Method that h a n d l e s the v a l u e of balance f a c t o r ∗/
16 BalanceFactor f a c t o r ( ) { r e t u r n _ f a c t o r ; };
17 v o i d f a c t o r ( BalanceFactor f ) { _ f a c t o r = f ; };
18
19 /∗Method that h a n d l e s the v a l u e of l e f t and r i g h t p o i n t e r s ∗/
20 Node∗ r i g h t ( ) { r e t u r n _r ; }; v o i d r i g h t ( Node∗ r ) { _r = r ; };
21 Node∗ l e f t ( ) { r e t u r n _l ; }; v o i d l e f t ( Node∗ l ) { _l = l ; };
22
23 /∗Method that v e r i f i e s i f the c u r r e n t node i s a l e a f ∗/
24 bool i s L e a f ( ) { r e t u r n ( _l == n u l l && _r == n u l l ) ; };
25 };
¦ ¥
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
A Proto-Classe Binary Tree.
Class Binary Tree
§ ¤
1 /∗ Container that r e p r e s e n t s a b i n a r y t r e e data s t r u c t u r e ∗/
2 c l a s s BinaryTree
3 {
4 Node∗ _root ; // p o i n t e r to the r o o t of t r e e
5 p u b l i c :
6 BinaryTree ( ) { _root = n u l l ; }; // C o n s t r u c t o r
7 Node∗ r o o t ( ) { r e t u r n _root ; }; // Returns a p o i n t e r f o r r o o t
8 bool i n s e r t ( ObjectData v ) ; // I n s e r t s a element i n t r e e
9 bool remove ( ObjectData v ) ; // Removes a element of the t r e e
10 v o i d inOrder ( Node∗ c u r r e n t ) ; // Navigates u s i n g a s t r u c t u r e ’ i n o r d e r ’
11 v o i d preOrder ( Node∗ c u r r e n t ) ; // Navigates u s i n g a s t r u c t u r e ’ pre o r d e r ’
12 v o i d postOrder ( Node∗ c u r r e n t ) ; // Navigates u s i n g a s t r u c t u r e ’ post o r d e r ’
13 ObjectData s m a l l e r ( ) ; // Returns the s m a l l e r element
14 ObjectData b i g g e r ( ) ; // Returns the b i g g e r element
15 Node∗ s u c c e s s o r ( Node∗ c u r r e n t ) ; // Returns the s u c c e s s o r node
16 long i n t l e v e l ( ObjectData v ) ; // Returns the s t o r a g e l e v e l of a element
17 long i n t h e i g h t ( Node∗ c u r r e n t ) ; // Returns the h e i g h t of a node
18 long i n t quantityOfNodes ( Node∗ c u r r e n t ) ; // Quantity of t r e e nodes
19 bool f i n d ( ObjectData v ) ; // Finds a element i n t r e e
20 Node∗ f i n d ( ObjectData v ) ; // Finds a element i n t r e e
21 };
¦ ¥
ObjectData deve implementar os operadores <, >, ==
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
A Proto-Classe Binary Tree.
Class Binary Tree
§ ¤
1 /∗ Container that r e p r e s e n t s a b i n a r y t r e e data s t r u c t u r e ∗/
2 c l a s s BinaryTree
3 {
4 Node∗ _root ; // p o i n t e r to the r o o t of t r e e
5 p u b l i c :
6 BinaryTree ( ) { _root = n u l l ; }; // C o n s t r u c t o r
7 Node∗ r o o t ( ) { r e t u r n _root ; }; // Returns a p o i n t e r f o r r o o t
8 bool i n s e r t ( ObjectData v ) ; // I n s e r t s a element i n t r e e
9 bool remove ( ObjectData v ) ; // Removes a element of the t r e e
10 v o i d inOrder ( Node∗ c u r r e n t ) ; // Navigates u s i n g a s t r u c t u r e ’ i n o r d e r ’
11 v o i d preOrder ( Node∗ c u r r e n t ) ; // Navigates u s i n g a s t r u c t u r e ’ pre o r d e r ’
12 v o i d postOrder ( Node∗ c u r r e n t ) ; // Navigates u s i n g a s t r u c t u r e ’ post o r d e r ’
13 ObjectData s m a l l e r ( ) ; // Returns the s m a l l e r element
14 ObjectData b i g g e r ( ) ; // Returns the b i g g e r element
15 Node∗ s u c c e s s o r ( Node∗ c u r r e n t ) ; // Returns the s u c c e s s o r node
16 long i n t l e v e l ( ObjectData v ) ; // Returns the s t o r a g e l e v e l of a element
17 long i n t h e i g h t ( Node∗ c u r r e n t ) ; // Returns the h e i g h t of a node
18 long i n t quantityOfNodes ( Node∗ c u r r e n t ) ; // Quantity of t r e e nodes
19 bool f i n d ( ObjectData v ) ; // Finds a element i n t r e e
20 Node∗ f i n d ( ObjectData v ) ; // Finds a element i n t r e e
21 };
¦ ¥
ObjectData deve implementar os operadores <, >, ==
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Comparações Entre Estruturas do Tipo Árvore.
Comparações de Desempenho
O desempenho das operações numa árvore pode ser medido pela
sua altura.
Neste quadro estamos realizando uma comparação entre uma estrutura de árvore
simples sem nenhum mecanismo de balaceamento (Árvore Binária) com outras
duas espécies de árvore (AVL e Rubro-Negra) que possuem algum tipo de
mecanismo de balanceamento intríseco.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Comparações Entre Estruturas do Tipo Árvore.
Comparações de Desempenho
O desempenho das operações numa árvore pode ser medido pela
sua altura.
Neste quadro estamos realizando uma comparação entre uma estrutura de árvore
simples sem nenhum mecanismo de balaceamento (Árvore Binária) com outras
duas espécies de árvore (AVL e Rubro-Negra) que possuem algum tipo de
mecanismo de balanceamento intríseco.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Conclusões
Conclusão Sobre a Estrutura de Dados
O que podemos concluir sobre árvores e suas derivações?
• Estrutura de dados de baixa complexidade;
• Boa performance;
• Amplamente utilizada;
• Várias nuances e implementações;
• Empregada em uma miríade de problemas práticos;
• Quando balaceadas são mais rápidas em operações de busca;
• Rebalanceamento pode ser oneroso: inserções e remoções;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Conclusões
Conclusão Sobre a Estrutura de Dados
O que podemos concluir sobre árvores e suas derivações?
• Estrutura de dados de baixa complexidade;
• Boa performance;
• Amplamente utilizada;
• Várias nuances e implementações;
• Empregada em uma miríade de problemas práticos;
• Quando balaceadas são mais rápidas em operações de busca;
• Rebalanceamento pode ser oneroso: inserções e remoções;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Conclusões
Conclusão Sobre a Estrutura de Dados
O que podemos concluir sobre árvores e suas derivações?
• Estrutura de dados de baixa complexidade;
• Boa performance;
• Amplamente utilizada;
• Várias nuances e implementações;
• Empregada em uma miríade de problemas práticos;
• Quando balaceadas são mais rápidas em operações de busca;
• Rebalanceamento pode ser oneroso: inserções e remoções;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Conclusões
Conclusão Sobre a Estrutura de Dados
O que podemos concluir sobre árvores e suas derivações?
• Estrutura de dados de baixa complexidade;
• Boa performance;
• Amplamente utilizada;
• Várias nuances e implementações;
• Empregada em uma miríade de problemas práticos;
• Quando balaceadas são mais rápidas em operações de busca;
• Rebalanceamento pode ser oneroso: inserções e remoções;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Conclusões
Conclusão Sobre a Estrutura de Dados
O que podemos concluir sobre árvores e suas derivações?
• Estrutura de dados de baixa complexidade;
• Boa performance;
• Amplamente utilizada;
• Várias nuances e implementações;
• Empregada em uma miríade de problemas práticos;
• Quando balaceadas são mais rápidas em operações de busca;
• Rebalanceamento pode ser oneroso: inserções e remoções;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Conclusões
Conclusão Sobre a Estrutura de Dados
O que podemos concluir sobre árvores e suas derivações?
• Estrutura de dados de baixa complexidade;
• Boa performance;
• Amplamente utilizada;
• Várias nuances e implementações;
• Empregada em uma miríade de problemas práticos;
• Quando balaceadas são mais rápidas em operações de busca;
• Rebalanceamento pode ser oneroso: inserções e remoções;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Conclusões
Conclusão Sobre a Estrutura de Dados
O que podemos concluir sobre árvores e suas derivações?
• Estrutura de dados de baixa complexidade;
• Boa performance;
• Amplamente utilizada;
• Várias nuances e implementações;
• Empregada em uma miríade de problemas práticos;
• Quando balaceadas são mais rápidas em operações de busca;
• Rebalanceamento pode ser oneroso: inserções e remoções;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Conclusões
Conclusão Sobre a Estrutura de Dados
O que podemos concluir sobre árvores e suas derivações?
• Estrutura de dados de baixa complexidade;
• Boa performance;
• Amplamente utilizada;
• Várias nuances e implementações;
• Empregada em uma miríade de problemas práticos;
• Quando balaceadas são mais rápidas em operações de busca;
• Rebalanceamento pode ser oneroso: inserções e remoções;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Conclusões
Conclusão Sobre a Estrutura de Dados
O que podemos concluir sobre árvores e suas derivações?
• Estrutura de dados de baixa complexidade;
• Boa performance;
• Amplamente utilizada;
• Várias nuances e implementações;
• Empregada em uma miríade de problemas práticos;
• Quando balaceadas são mais rápidas em operações de busca;
• Rebalanceamento pode ser oneroso: inserções e remoções;
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação
Agradecimentos
Grato Pela Atenção!
• Michel Alves - michel.mas@gmail.com
Referências Bibliográficas
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.
Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001.
ISBN 0-262-03293-7.
Donald Knuth. The Art of Computer Programming, Volume 3: Sorting and
Searching, Third Edition. Addison-Wesley, 1997. ISBN 0-201-89685-0. Section
6.2.3: Balanced Trees, pp.458–481.
Mark de Berg, Marc van Kreveld, Mark Overmars, and Otfried Schwarzkopf
(2000). Computational Geometry (2nd edition ed.). Springer. ISBN
3-540-65620-0. Chapter 2: Line Segment Intersection, pp.19–44. Chapter 6:
Point location. pp. 121–146.
Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada

Mais conteúdo relacionado

Semelhante a Árvore Binária Balanceada: Conceitos e Aplicações

Árvore de Decisão | IA
Árvore de Decisão | IA Árvore de Decisão | IA
Árvore de Decisão | IA Cloves da Rocha
 
Introdução a Árvore de Dados Adaptativa (WTA 2011)
Introdução a Árvore de Dados Adaptativa (WTA 2011)Introdução a Árvore de Dados Adaptativa (WTA 2011)
Introdução a Árvore de Dados Adaptativa (WTA 2011)Fabrício Catae
 
LIVRO PROPRIETÁRIO - MATEMÁTICA APLICADA A COMPUTAÇÃO
LIVRO PROPRIETÁRIO - MATEMÁTICA APLICADA A COMPUTAÇÃOLIVRO PROPRIETÁRIO - MATEMÁTICA APLICADA A COMPUTAÇÃO
LIVRO PROPRIETÁRIO - MATEMÁTICA APLICADA A COMPUTAÇÃOOs Fantasmas !
 
1601PAPSUML-Cap12-destaqueDAO.ppt
1601PAPSUML-Cap12-destaqueDAO.ppt1601PAPSUML-Cap12-destaqueDAO.ppt
1601PAPSUML-Cap12-destaqueDAO.pptAlan5263
 
LIVRO_ GRAFICOS NA BIOESTATITICA.pdf
LIVRO_ GRAFICOS NA  BIOESTATITICA.pdfLIVRO_ GRAFICOS NA  BIOESTATITICA.pdf
LIVRO_ GRAFICOS NA BIOESTATITICA.pdfTAYANEMOURA4
 
MATEMATICA_Ciencia_Aplicacoes_V3_PNLD2018_PR.pdf
MATEMATICA_Ciencia_Aplicacoes_V3_PNLD2018_PR.pdfMATEMATICA_Ciencia_Aplicacoes_V3_PNLD2018_PR.pdf
MATEMATICA_Ciencia_Aplicacoes_V3_PNLD2018_PR.pdfSilvanioRodriguesCos
 
Matematica discreta fasciculo_3_v06
Matematica discreta fasciculo_3_v06Matematica discreta fasciculo_3_v06
Matematica discreta fasciculo_3_v06CLEAN LOURENÇO
 
Conteúdos de Matemática - EM.pdf
Conteúdos de Matemática - EM.pdfConteúdos de Matemática - EM.pdf
Conteúdos de Matemática - EM.pdfGustavoPaz34
 

Semelhante a Árvore Binária Balanceada: Conceitos e Aplicações (10)

Árvore de Decisão | IA
Árvore de Decisão | IA Árvore de Decisão | IA
Árvore de Decisão | IA
 
Introdução a Árvore de Dados Adaptativa (WTA 2011)
Introdução a Árvore de Dados Adaptativa (WTA 2011)Introdução a Árvore de Dados Adaptativa (WTA 2011)
Introdução a Árvore de Dados Adaptativa (WTA 2011)
 
AulaAula1(introducao)
AulaAula1(introducao)AulaAula1(introducao)
AulaAula1(introducao)
 
LIVRO PROPRIETÁRIO - MATEMÁTICA APLICADA A COMPUTAÇÃO
LIVRO PROPRIETÁRIO - MATEMÁTICA APLICADA A COMPUTAÇÃOLIVRO PROPRIETÁRIO - MATEMÁTICA APLICADA A COMPUTAÇÃO
LIVRO PROPRIETÁRIO - MATEMÁTICA APLICADA A COMPUTAÇÃO
 
1601PAPSUML-Cap12-destaqueDAO.ppt
1601PAPSUML-Cap12-destaqueDAO.ppt1601PAPSUML-Cap12-destaqueDAO.ppt
1601PAPSUML-Cap12-destaqueDAO.ppt
 
LIVRO_ GRAFICOS NA BIOESTATITICA.pdf
LIVRO_ GRAFICOS NA  BIOESTATITICA.pdfLIVRO_ GRAFICOS NA  BIOESTATITICA.pdf
LIVRO_ GRAFICOS NA BIOESTATITICA.pdf
 
MATEMATICA_Ciencia_Aplicacoes_V3_PNLD2018_PR.pdf
MATEMATICA_Ciencia_Aplicacoes_V3_PNLD2018_PR.pdfMATEMATICA_Ciencia_Aplicacoes_V3_PNLD2018_PR.pdf
MATEMATICA_Ciencia_Aplicacoes_V3_PNLD2018_PR.pdf
 
Matematica discreta fasciculo_3_v06
Matematica discreta fasciculo_3_v06Matematica discreta fasciculo_3_v06
Matematica discreta fasciculo_3_v06
 
Conteúdos de Matemática - EM.pdf
Conteúdos de Matemática - EM.pdfConteúdos de Matemática - EM.pdf
Conteúdos de Matemática - EM.pdf
 
LIVRO_UNICO.pdf
LIVRO_UNICO.pdfLIVRO_UNICO.pdf
LIVRO_UNICO.pdf
 

Mais de Michel Alves

Texture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseTexture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseMichel Alves
 
Intelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesIntelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesMichel Alves
 
A Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresA Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresMichel Alves
 
Effectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesEffectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesMichel Alves
 
Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel FunctionsMichel Alves
 
About Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceAbout Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceMichel Alves
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - ResultsMichel Alves
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseMichel Alves
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexMichel Alves
 
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationQualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationMichel Alves
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsMichel Alves
 
Month Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMonth Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMichel Alves
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in RMichel Alves
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel PrototypeMichel Alves
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh PlotMichel Alves
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesMichel Alves
 
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogCapacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogMichel Alves
 

Mais de Michel Alves (20)

Texture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseTexture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU Use
 
Intelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesIntelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color Palettes
 
A Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresA Framework for Harmonic Color Measures
A Framework for Harmonic Color Measures
 
Effectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesEffectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment Indexes
 
Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel Functions
 
About Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceAbout Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV Space
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - Results
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin Noise
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM Index
 
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationQualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and Reports
 
Month Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMonth Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJ
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in R
 
Sigmoid Curve Erf
Sigmoid Curve ErfSigmoid Curve Erf
Sigmoid Curve Erf
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel Prototype
 
Cosine Curve
Cosine CurveCosine Curve
Cosine Curve
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh Plot
 
Triangle Plot
Triangle PlotTriangle Plot
Triangle Plot
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video Slides
 
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogCapacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function Catalog
 

Último

Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 

Último (20)

Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 

Árvore Binária Balanceada: Conceitos e Aplicações

  • 1. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada Visão Geral, Características e Conceitos Associados Michel Alves dos Santos Universidade Federal de Alagoas, Campus A. C. Simões Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 Centro de Pesquisa em Matemática Computacional Docente Responsável: Prof. Dr. Thales Vieira 17 de Novembro 2011 Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 2. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Sumário Tópicos Centrais da Explanação • Árvores, Arborescências e Árvore Balanceada; • Aplicações da Árvore Binária Balanceada; • Complexidade: Busca, Inserção e Deleção; • Uso em Problemas Práticos; • As Proto-classes Node e BinaryTree; • Comparações Entre Árvores; • Conclusões. Primeiramente iremos esclarecer alguns conceitos primordiais sobre a caracterização de uma árvore e logo após iremos definir realmente o significado do nosso objeto de estudo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 3. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Sumário Tópicos Centrais da Explanação • Árvores, Arborescências e Árvore Balanceada; • Aplicações da Árvore Binária Balanceada; • Complexidade: Busca, Inserção e Deleção; • Uso em Problemas Práticos; • As Proto-classes Node e BinaryTree; • Comparações Entre Árvores; • Conclusões. Primeiramente iremos esclarecer alguns conceitos primordiais sobre a caracterização de uma árvore e logo após iremos definir realmente o significado do nosso objeto de estudo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 4. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Sumário Tópicos Centrais da Explanação • Árvores, Arborescências e Árvore Balanceada; • Aplicações da Árvore Binária Balanceada; • Complexidade: Busca, Inserção e Deleção; • Uso em Problemas Práticos; • As Proto-classes Node e BinaryTree; • Comparações Entre Árvores; • Conclusões. Primeiramente iremos esclarecer alguns conceitos primordiais sobre a caracterização de uma árvore e logo após iremos definir realmente o significado do nosso objeto de estudo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 5. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Sumário Tópicos Centrais da Explanação • Árvores, Arborescências e Árvore Balanceada; • Aplicações da Árvore Binária Balanceada; • Complexidade: Busca, Inserção e Deleção; • Uso em Problemas Práticos; • As Proto-classes Node e BinaryTree; • Comparações Entre Árvores; • Conclusões. Primeiramente iremos esclarecer alguns conceitos primordiais sobre a caracterização de uma árvore e logo após iremos definir realmente o significado do nosso objeto de estudo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 6. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Sumário Tópicos Centrais da Explanação • Árvores, Arborescências e Árvore Balanceada; • Aplicações da Árvore Binária Balanceada; • Complexidade: Busca, Inserção e Deleção; • Uso em Problemas Práticos; • As Proto-classes Node e BinaryTree; • Comparações Entre Árvores; • Conclusões. Primeiramente iremos esclarecer alguns conceitos primordiais sobre a caracterização de uma árvore e logo após iremos definir realmente o significado do nosso objeto de estudo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 7. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Sumário Tópicos Centrais da Explanação • Árvores, Arborescências e Árvore Balanceada; • Aplicações da Árvore Binária Balanceada; • Complexidade: Busca, Inserção e Deleção; • Uso em Problemas Práticos; • As Proto-classes Node e BinaryTree; • Comparações Entre Árvores; • Conclusões. Primeiramente iremos esclarecer alguns conceitos primordiais sobre a caracterização de uma árvore e logo após iremos definir realmente o significado do nosso objeto de estudo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 8. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Sumário Tópicos Centrais da Explanação • Árvores, Arborescências e Árvore Balanceada; • Aplicações da Árvore Binária Balanceada; • Complexidade: Busca, Inserção e Deleção; • Uso em Problemas Práticos; • As Proto-classes Node e BinaryTree; • Comparações Entre Árvores; • Conclusões. Primeiramente iremos esclarecer alguns conceitos primordiais sobre a caracterização de uma árvore e logo após iremos definir realmente o significado do nosso objeto de estudo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 9. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Sumário Tópicos Centrais da Explanação • Árvores, Arborescências e Árvore Balanceada; • Aplicações da Árvore Binária Balanceada; • Complexidade: Busca, Inserção e Deleção; • Uso em Problemas Práticos; • As Proto-classes Node e BinaryTree; • Comparações Entre Árvores; • Conclusões. Primeiramente iremos esclarecer alguns conceitos primordiais sobre a caracterização de uma árvore e logo após iremos definir realmente o significado do nosso objeto de estudo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 10. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Sumário Tópicos Centrais da Explanação • Árvores, Arborescências e Árvore Balanceada; • Aplicações da Árvore Binária Balanceada; • Complexidade: Busca, Inserção e Deleção; • Uso em Problemas Práticos; • As Proto-classes Node e BinaryTree; • Comparações Entre Árvores; • Conclusões. Primeiramente iremos esclarecer alguns conceitos primordiais sobre a caracterização de uma árvore e logo após iremos definir realmente o significado do nosso objeto de estudo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 11. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação O que é uma Árvore? Conceito Matemático de Árvore Uma árvore é um grafo conexo e sem ciclos. Lembrete Grafo constitui um objeto matemático formado por dois conjuntos. O primeiro, chamado de V , é o conjunto dos vértices. O outro é um conjunto de relações entre vértices, chamado de conjunto das arestas e é representado por E. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 12. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação O que é uma Árvore? Conceito Matemático de Árvore Uma árvore é um grafo conexo e sem ciclos. Figura: Construção de um grafo conexo com 6 vértices. Há várias soluções para este tipo de construção, mas o que as soluções apresentadas possuem em comum? Todas tem 5 arestas e nenhuma contém ciclos. Lembrete Grafo constitui um objeto matemático formado por dois conjuntos. O primeiro, chamado de V , é o conjunto dos vértices. O outro é um conjunto de relações entre vértices, chamado de conjunto das arestas e é representado por E. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 13. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação O que é uma Árvore? Conceito Matemático de Árvore Uma árvore é um grafo conexo e sem ciclos. Figura: Construção de um grafo conexo com 6 vértices. Há várias soluções para este tipo de construção, mas o que as soluções apresentadas possuem em comum? Todas tem 5 arestas e nenhuma contém ciclos. Lembrete Grafo constitui um objeto matemático formado por dois conjuntos. O primeiro, chamado de V , é o conjunto dos vértices. O outro é um conjunto de relações entre vértices, chamado de conjunto das arestas e é representado por E. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 14. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Caracterização das Árvores. Como podemos caracterizar uma árvore? Três características são primordiais em uma árvore: Seja T uma árvore com n vértices. Então: 1 T é conexo e sem ciclos; 2 T é conexo e possui n − 1 arestas; 3 Cada aresta e de T é uma ponte. Lembrete Uma ponte é uma aresta cuja retirada desconecta o grafo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 15. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Caracterização das Árvores. Como podemos caracterizar uma árvore? Três características são primordiais em uma árvore: Figura: Construção de um grafo conexo e um não-conexo com 6 vértices. Seja T uma árvore com n vértices. Então: 1 T é conexo e sem ciclos; 2 T é conexo e possui n − 1 arestas; 3 Cada aresta e de T é uma ponte. Lembrete Uma ponte é uma aresta cuja retirada desconecta o grafo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 16. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Caracterização das Árvores. Como podemos caracterizar uma árvore? Três características são primordiais em uma árvore: Figura: Construção de um grafo conexo e um não-conexo com 6 vértices. Seja T uma árvore com n vértices. Então: 1 T é conexo e sem ciclos; 2 T é conexo e possui n − 1 arestas; 3 Cada aresta e de T é uma ponte. Lembrete Uma ponte é uma aresta cuja retirada desconecta o grafo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 17. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Caracterização das Árvores. Como podemos caracterizar uma árvore? Três características são primordiais em uma árvore: Figura: Construção de um grafo conexo e um não-conexo com 6 vértices. Seja T uma árvore com n vértices. Então: 1 T é conexo e sem ciclos; 2 T é conexo e possui n − 1 arestas; 3 Cada aresta e de T é uma ponte. Lembrete Uma ponte é uma aresta cuja retirada desconecta o grafo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 18. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Caracterização das Árvores. Como podemos caracterizar uma árvore? Três características são primordiais em uma árvore: Figura: Construção de um grafo conexo e um não-conexo com 6 vértices. Seja T uma árvore com n vértices. Então: 1 T é conexo e sem ciclos; 2 T é conexo e possui n − 1 arestas; 3 Cada aresta e de T é uma ponte. Lembrete Uma ponte é uma aresta cuja retirada desconecta o grafo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 19. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Caracterização das Árvores. Como podemos caracterizar uma árvore? Três características são primordiais em uma árvore: Figura: Construção de um grafo conexo e um não-conexo com 6 vértices. Seja T uma árvore com n vértices. Então: 1 T é conexo e sem ciclos; 2 T é conexo e possui n − 1 arestas; 3 Cada aresta e de T é uma ponte. Lembrete Uma ponte é uma aresta cuja retirada desconecta o grafo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 20. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Caracterização das Árvores. Como podemos caracterizar uma árvore? Três características são primordiais em uma árvore: Figura: Construção de um grafo conexo e um não-conexo com 6 vértices. Seja T uma árvore com n vértices. Então: 1 T é conexo e sem ciclos; 2 T é conexo e possui n − 1 arestas; 3 Cada aresta e de T é uma ponte. Lembrete Uma ponte é uma aresta cuja retirada desconecta o grafo. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 21. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Arborescências. O que é uma arborescência? Tipo de árvore na qual consideramos a orientação. Na arborescência, a direção dos arcos é considerada. Propriedades das arborescências: 1 Existe um vértice sem antecessores (a raiz); 2 Todos os vértices (fora a raiz) possuem exatamente um único antecessor. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 22. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Arborescências. O que é uma arborescência? Tipo de árvore na qual consideramos a orientação. Na arborescência, a direção dos arcos é considerada. Figura: Como cada aresta da arborescência representa uma ponte, basta escolher um vértice como ‘raiz’ e teremos uma orientação ‘natural’ da árvore. Propriedades das arborescências: 1 Existe um vértice sem antecessores (a raiz); 2 Todos os vértices (fora a raiz) possuem exatamente um único antecessor. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 23. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Arborescências. O que é uma arborescência? Tipo de árvore na qual consideramos a orientação. Na arborescência, a direção dos arcos é considerada. Figura: Como cada aresta da arborescência representa uma ponte, basta escolher um vértice como ‘raiz’ e teremos uma orientação ‘natural’ da árvore. Propriedades das arborescências: 1 Existe um vértice sem antecessores (a raiz); 2 Todos os vértices (fora a raiz) possuem exatamente um único antecessor. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 24. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Arborescências. O que é uma arborescência? Tipo de árvore na qual consideramos a orientação. Na arborescência, a direção dos arcos é considerada. Figura: Como cada aresta da arborescência representa uma ponte, basta escolher um vértice como ‘raiz’ e teremos uma orientação ‘natural’ da árvore. Propriedades das arborescências: 1 Existe um vértice sem antecessores (a raiz); 2 Todos os vértices (fora a raiz) possuem exatamente um único antecessor. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 25. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Arborescências. O que é uma arborescência? Tipo de árvore na qual consideramos a orientação. Na arborescência, a direção dos arcos é considerada. Figura: Como cada aresta da arborescência representa uma ponte, basta escolher um vértice como ‘raiz’ e teremos uma orientação ‘natural’ da árvore. Propriedades das arborescências: 1 Existe um vértice sem antecessores (a raiz); 2 Todos os vértices (fora a raiz) possuem exatamente um único antecessor. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 26. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Arborescência Binária. O que é uma arborescência binária? Uma das arborescências de uso mais frequente é a arborescência binária (usualmente chamada de árvore binária), que se caracteriza pela seguinte propriedade adicional: Propriedade adicional das arborescências binárias: 1 Todos os vértices têm, no máximo, 2 sucessores, ou seja ∆ ≤ 2. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 27. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Arborescência Binária. O que é uma arborescência binária? Uma das arborescências de uso mais frequente é a arborescência binária (usualmente chamada de árvore binária), que se caracteriza pela seguinte propriedade adicional: Figura: Os nós de uma árvore binária possuem graus zero, um ou dois. Um nó de grau zero é denominado folha. A raiz possui profundidade 0. Os sucessores diretos da raiz possuem profundidade 1. Em suma, uma árvore binária é definida como um grafo acíclico, conexo, dirigido e que cada nó não tem grau maior que 2. Logo, só existe um caminho entre dois nós distintos. Propriedade adicional das arborescências binárias: 1 Todos os vértices têm, no máximo, 2 sucessores, ou seja ∆ ≤ 2. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 28. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Arborescência Binária. O que é uma arborescência binária? Uma das arborescências de uso mais frequente é a arborescência binária (usualmente chamada de árvore binária), que se caracteriza pela seguinte propriedade adicional: Figura: Os nós de uma árvore binária possuem graus zero, um ou dois. Um nó de grau zero é denominado folha. A raiz possui profundidade 0. Os sucessores diretos da raiz possuem profundidade 1. Em suma, uma árvore binária é definida como um grafo acíclico, conexo, dirigido e que cada nó não tem grau maior que 2. Logo, só existe um caminho entre dois nós distintos. Propriedade adicional das arborescências binárias: 1 Todos os vértices têm, no máximo, 2 sucessores, ou seja ∆ ≤ 2. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 29. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Arborescência Binária. O que é uma arborescência binária? Uma das arborescências de uso mais frequente é a arborescência binária (usualmente chamada de árvore binária), que se caracteriza pela seguinte propriedade adicional: Figura: Os nós de uma árvore binária possuem graus zero, um ou dois. Um nó de grau zero é denominado folha. A raiz possui profundidade 0. Os sucessores diretos da raiz possuem profundidade 1. Em suma, uma árvore binária é definida como um grafo acíclico, conexo, dirigido e que cada nó não tem grau maior que 2. Logo, só existe um caminho entre dois nós distintos. Propriedade adicional das arborescências binárias: 1 Todos os vértices têm, no máximo, 2 sucessores, ou seja ∆ ≤ 2. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 30. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Caracterizando Árvore Binária Balanceada Uma árvore binária é dita balanceada se, para cada nó, as alturas de suas sub-árvores diferem de, no máximo 1. Uma árvore binária balanceada, chamada de árvore AVL (em homenagem aos matemáticos russos G.M. Adelson-Velskii e E.M. Landis), é uma árvore binária na qual as alturas das duas sub-árvores de cada um dos nós, nunca diferem em mais de 1 unidade. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 31. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Caracterizando Árvore Binária Balanceada Uma árvore binária é dita balanceada se, para cada nó, as alturas de suas sub-árvores diferem de, no máximo 1. Figura: Uma árvore é totalmente balanceada quando para cada nó, o número de nós em cada uma de suas sub-árvores difere em no máximo 1 de profundidade. A primeira aparição dessa estrutura, foi em 1962 no artigo ‘An algorithm for the organization of information’, de autoria dos Soviéticos Adelson-Velskii e Landis. Uma árvore binária balanceada, chamada de árvore AVL (em homenagem aos matemáticos russos G.M. Adelson-Velskii e E.M. Landis), é uma árvore binária na qual as alturas das duas sub-árvores de cada um dos nós, nunca diferem em mais de 1 unidade. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 32. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Caracterizando Árvore Binária Balanceada Uma árvore binária é dita balanceada se, para cada nó, as alturas de suas sub-árvores diferem de, no máximo 1. Figura: Uma árvore é totalmente balanceada quando para cada nó, o número de nós em cada uma de suas sub-árvores difere em no máximo 1 de profundidade. A primeira aparição dessa estrutura, foi em 1962 no artigo ‘An algorithm for the organization of information’, de autoria dos Soviéticos Adelson-Velskii e Landis. Uma árvore binária balanceada, chamada de árvore AVL (em homenagem aos matemáticos russos G.M. Adelson-Velskii e E.M. Landis), é uma árvore binária na qual as alturas das duas sub-árvores de cada um dos nós, nunca diferem em mais de 1 unidade. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 33. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Aplicações da Árvore Binária Balanceada Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis: • Arrays associativos (associative arrays: map ou dictionary); • Coleções baseadas em pares do tipo (key, value); • Filas de prioridade (priority queues); • Fila onde cada elemento é associado com uma ‘prioridade’; • Conjuntos (sets). • Comumente implementados da mesma maneira que arrays associativos; • Nessa caso são chamados de sorted sets. Implementações • AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 34. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Aplicações da Árvore Binária Balanceada Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis: • Arrays associativos (associative arrays: map ou dictionary); • Coleções baseadas em pares do tipo (key, value); • Filas de prioridade (priority queues); • Fila onde cada elemento é associado com uma ‘prioridade’; • Conjuntos (sets). • Comumente implementados da mesma maneira que arrays associativos; • Nessa caso são chamados de sorted sets. Implementações • AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 35. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Aplicações da Árvore Binária Balanceada Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis: • Arrays associativos (associative arrays: map ou dictionary); • Coleções baseadas em pares do tipo (key, value); • Filas de prioridade (priority queues); • Fila onde cada elemento é associado com uma ‘prioridade’; • Conjuntos (sets). • Comumente implementados da mesma maneira que arrays associativos; • Nessa caso são chamados de sorted sets. Implementações • AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 36. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Aplicações da Árvore Binária Balanceada Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis: • Arrays associativos (associative arrays: map ou dictionary); • Coleções baseadas em pares do tipo (key, value); • Filas de prioridade (priority queues); • Fila onde cada elemento é associado com uma ‘prioridade’; • Conjuntos (sets). • Comumente implementados da mesma maneira que arrays associativos; • Nessa caso são chamados de sorted sets. Implementações • AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 37. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Aplicações da Árvore Binária Balanceada Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis: • Arrays associativos (associative arrays: map ou dictionary); • Coleções baseadas em pares do tipo (key, value); • Filas de prioridade (priority queues); • Fila onde cada elemento é associado com uma ‘prioridade’; • Conjuntos (sets). • Comumente implementados da mesma maneira que arrays associativos; • Nessa caso são chamados de sorted sets. Implementações • AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 38. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Aplicações da Árvore Binária Balanceada Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis: • Arrays associativos (associative arrays: map ou dictionary); • Coleções baseadas em pares do tipo (key, value); • Filas de prioridade (priority queues); • Fila onde cada elemento é associado com uma ‘prioridade’; • Conjuntos (sets). • Comumente implementados da mesma maneira que arrays associativos; • Nessa caso são chamados de sorted sets. Implementações • AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 39. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Aplicações da Árvore Binária Balanceada Essa estrutura fornece implementação eficiente para listas ordenadas mutáveis: • Arrays associativos (associative arrays: map ou dictionary); • Coleções baseadas em pares do tipo (key, value); • Filas de prioridade (priority queues); • Fila onde cada elemento é associado com uma ‘prioridade’; • Conjuntos (sets). • Comumente implementados da mesma maneira que arrays associativos; • Nessa caso são chamados de sorted sets. Implementações • AA Tree; AVL Tree; Red-black Tree; Scapegoat Tree; Splay Tree; Treap; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 40. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Complexidade Figura: As operações de busca, inserção e eliminação de elementos possuem complexidade O(logn) (no qual n é o número de elementos da árvore). Inserções e eliminações podem também requerer o rebalanceamento da árvore, exigindo uma ou mais rotações. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 41. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Uso em Problemas Árvores binárias balanceadas podems ser usadas para implementar qualquer algoritmo que requeira o uso de listas ordenadas mutáveis. Alguns algoritmos em Geometria Computacional exploram variações dessas estruturas para resolução de problemas como: • Intersecção de segmentos de reta (line segment intersection) • O problema da intersecção dos segmentos de reta nos fornece uma lista de segmentos de reta no plano e nos pede para determinar se quaisquer dois deles se intersectam (ou cruzam). • Formas complexas oriundas de operações booleanas (intersecção, união, diferença), detecção de colisão em robótica e planejamento de movimento, visibilidade, oclusão; • Localização de Ponto (point location) • Dada uma partição do espaço em regiões disjuntas, determinar a região onde se encontra um ponto de consulta. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 42. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Uso em Problemas Árvores binárias balanceadas podems ser usadas para implementar qualquer algoritmo que requeira o uso de listas ordenadas mutáveis. Alguns algoritmos em Geometria Computacional exploram variações dessas estruturas para resolução de problemas como: • Intersecção de segmentos de reta (line segment intersection) • O problema da intersecção dos segmentos de reta nos fornece uma lista de segmentos de reta no plano e nos pede para determinar se quaisquer dois deles se intersectam (ou cruzam). • Formas complexas oriundas de operações booleanas (intersecção, união, diferença), detecção de colisão em robótica e planejamento de movimento, visibilidade, oclusão; • Localização de Ponto (point location) • Dada uma partição do espaço em regiões disjuntas, determinar a região onde se encontra um ponto de consulta. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 43. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Uso em Problemas Árvores binárias balanceadas podems ser usadas para implementar qualquer algoritmo que requeira o uso de listas ordenadas mutáveis. Alguns algoritmos em Geometria Computacional exploram variações dessas estruturas para resolução de problemas como: • Intersecção de segmentos de reta (line segment intersection) • O problema da intersecção dos segmentos de reta nos fornece uma lista de segmentos de reta no plano e nos pede para determinar se quaisquer dois deles se intersectam (ou cruzam). • Formas complexas oriundas de operações booleanas (intersecção, união, diferença), detecção de colisão em robótica e planejamento de movimento, visibilidade, oclusão; • Localização de Ponto (point location) • Dada uma partição do espaço em regiões disjuntas, determinar a região onde se encontra um ponto de consulta. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 44. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Uso em Problemas Árvores binárias balanceadas podems ser usadas para implementar qualquer algoritmo que requeira o uso de listas ordenadas mutáveis. Alguns algoritmos em Geometria Computacional exploram variações dessas estruturas para resolução de problemas como: • Intersecção de segmentos de reta (line segment intersection) • O problema da intersecção dos segmentos de reta nos fornece uma lista de segmentos de reta no plano e nos pede para determinar se quaisquer dois deles se intersectam (ou cruzam). • Formas complexas oriundas de operações booleanas (intersecção, união, diferença), detecção de colisão em robótica e planejamento de movimento, visibilidade, oclusão; • Localização de Ponto (point location) • Dada uma partição do espaço em regiões disjuntas, determinar a região onde se encontra um ponto de consulta. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 45. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Uso em Problemas Árvores binárias balanceadas podems ser usadas para implementar qualquer algoritmo que requeira o uso de listas ordenadas mutáveis. Alguns algoritmos em Geometria Computacional exploram variações dessas estruturas para resolução de problemas como: • Intersecção de segmentos de reta (line segment intersection) • O problema da intersecção dos segmentos de reta nos fornece uma lista de segmentos de reta no plano e nos pede para determinar se quaisquer dois deles se intersectam (ou cruzam). • Formas complexas oriundas de operações booleanas (intersecção, união, diferença), detecção de colisão em robótica e planejamento de movimento, visibilidade, oclusão; • Localização de Ponto (point location) • Dada uma partição do espaço em regiões disjuntas, determinar a região onde se encontra um ponto de consulta. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 46. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Uso em Problemas Árvores binárias balanceadas podems ser usadas para implementar qualquer algoritmo que requeira o uso de listas ordenadas mutáveis. Alguns algoritmos em Geometria Computacional exploram variações dessas estruturas para resolução de problemas como: • Intersecção de segmentos de reta (line segment intersection) • O problema da intersecção dos segmentos de reta nos fornece uma lista de segmentos de reta no plano e nos pede para determinar se quaisquer dois deles se intersectam (ou cruzam). • Formas complexas oriundas de operações booleanas (intersecção, união, diferença), detecção de colisão em robótica e planejamento de movimento, visibilidade, oclusão; • Localização de Ponto (point location) • Dada uma partição do espaço em regiões disjuntas, determinar a região onde se encontra um ponto de consulta. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 47. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Line Segment Intersection Problem Dada uma lista de segmentos de reta no plano determinar se quaisquer dois deles se intersectam. Figura: A forma mais comum e eficiente de resolução deste problema é o usando a estratégia sweep line algorithm juntamente com uma estrutura do tipo árvore binária balanceada. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 48. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Line Segment Intersection Problem Dada uma lista de segmentos de reta no plano determinar se quaisquer dois deles se intersectam. Figura: A forma mais comum e eficiente de resolução deste problema é o usando a estratégia sweep line algorithm juntamente com uma estrutura do tipo árvore binária balanceada. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 49. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Point Location Problem Dada uma partição do espaço em regiões disjuntas, determinar a região onde se encontra um ponto de consulta. Figura: O problema de localização de pontos é um tema fundamental na geometria computacional. Esse problema encontra aplicações em áreas que lidam com o processamento de dados geométricos: sistemas de informação geográfica (GIS), planejamento de movimento e desenho assistido por computador (CAD). Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 50. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Árvore Binária Balanceada. Point Location Problem Dada uma partição do espaço em regiões disjuntas, determinar a região onde se encontra um ponto de consulta. Figura: O problema de localização de pontos é um tema fundamental na geometria computacional. Esse problema encontra aplicações em áreas que lidam com o processamento de dados geométricos: sistemas de informação geográfica (GIS), planejamento de movimento e desenho assistido por computador (CAD). Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 51. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação A Classe Nó Balanceado. Class Node - Com Fator de Balanceamento § ¤ 1 /∗ Container that r e p r e s e n t s a node data s t r u c t u r e ∗/ 2 c l a s s Node 3 { 4 ObjectData _value ; // v a l u e or key 5 BalanceFactor _ f a c t o r ; // f a c t o r to the b a l a n c i n g 6 Node ∗_r , ∗ _l ; // p o i n t e r s to the r i g h t and l e f t s u b t r e e 7 p u b l i c : 8 /∗ C o n s t r u c t o r ∗/ 9 Node ( ObjectData v ) { _value = v ; _r = _l = n u l l ; }; 10 11 /∗Method that h a n d l e s the v a l u e of s t o r e d o b j e c t ∗/ 12 ObjectData v a l u e ( ) { r e t u r n _value ; }; 13 v o i d v a l u e ( ObjectData v ) { _value = v ; }; 14 15 /∗Method that h a n d l e s the v a l u e of balance f a c t o r ∗/ 16 BalanceFactor f a c t o r ( ) { r e t u r n _ f a c t o r ; }; 17 v o i d f a c t o r ( BalanceFactor f ) { _ f a c t o r = f ; }; 18 19 /∗Method that h a n d l e s the v a l u e of l e f t and r i g h t p o i n t e r s ∗/ 20 Node∗ r i g h t ( ) { r e t u r n _r ; }; v o i d r i g h t ( Node∗ r ) { _r = r ; }; 21 Node∗ l e f t ( ) { r e t u r n _l ; }; v o i d l e f t ( Node∗ l ) { _l = l ; }; 22 23 /∗Method that v e r i f i e s i f the c u r r e n t node i s a l e a f ∗/ 24 bool i s L e a f ( ) { r e t u r n ( _l == n u l l && _r == n u l l ) ; }; 25 }; ¦ ¥ Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 52. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação A Proto-Classe Binary Tree. Class Binary Tree § ¤ 1 /∗ Container that r e p r e s e n t s a b i n a r y t r e e data s t r u c t u r e ∗/ 2 c l a s s BinaryTree 3 { 4 Node∗ _root ; // p o i n t e r to the r o o t of t r e e 5 p u b l i c : 6 BinaryTree ( ) { _root = n u l l ; }; // C o n s t r u c t o r 7 Node∗ r o o t ( ) { r e t u r n _root ; }; // Returns a p o i n t e r f o r r o o t 8 bool i n s e r t ( ObjectData v ) ; // I n s e r t s a element i n t r e e 9 bool remove ( ObjectData v ) ; // Removes a element of the t r e e 10 v o i d inOrder ( Node∗ c u r r e n t ) ; // Navigates u s i n g a s t r u c t u r e ’ i n o r d e r ’ 11 v o i d preOrder ( Node∗ c u r r e n t ) ; // Navigates u s i n g a s t r u c t u r e ’ pre o r d e r ’ 12 v o i d postOrder ( Node∗ c u r r e n t ) ; // Navigates u s i n g a s t r u c t u r e ’ post o r d e r ’ 13 ObjectData s m a l l e r ( ) ; // Returns the s m a l l e r element 14 ObjectData b i g g e r ( ) ; // Returns the b i g g e r element 15 Node∗ s u c c e s s o r ( Node∗ c u r r e n t ) ; // Returns the s u c c e s s o r node 16 long i n t l e v e l ( ObjectData v ) ; // Returns the s t o r a g e l e v e l of a element 17 long i n t h e i g h t ( Node∗ c u r r e n t ) ; // Returns the h e i g h t of a node 18 long i n t quantityOfNodes ( Node∗ c u r r e n t ) ; // Quantity of t r e e nodes 19 bool f i n d ( ObjectData v ) ; // Finds a element i n t r e e 20 Node∗ f i n d ( ObjectData v ) ; // Finds a element i n t r e e 21 }; ¦ ¥ ObjectData deve implementar os operadores <, >, == Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 53. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação A Proto-Classe Binary Tree. Class Binary Tree § ¤ 1 /∗ Container that r e p r e s e n t s a b i n a r y t r e e data s t r u c t u r e ∗/ 2 c l a s s BinaryTree 3 { 4 Node∗ _root ; // p o i n t e r to the r o o t of t r e e 5 p u b l i c : 6 BinaryTree ( ) { _root = n u l l ; }; // C o n s t r u c t o r 7 Node∗ r o o t ( ) { r e t u r n _root ; }; // Returns a p o i n t e r f o r r o o t 8 bool i n s e r t ( ObjectData v ) ; // I n s e r t s a element i n t r e e 9 bool remove ( ObjectData v ) ; // Removes a element of the t r e e 10 v o i d inOrder ( Node∗ c u r r e n t ) ; // Navigates u s i n g a s t r u c t u r e ’ i n o r d e r ’ 11 v o i d preOrder ( Node∗ c u r r e n t ) ; // Navigates u s i n g a s t r u c t u r e ’ pre o r d e r ’ 12 v o i d postOrder ( Node∗ c u r r e n t ) ; // Navigates u s i n g a s t r u c t u r e ’ post o r d e r ’ 13 ObjectData s m a l l e r ( ) ; // Returns the s m a l l e r element 14 ObjectData b i g g e r ( ) ; // Returns the b i g g e r element 15 Node∗ s u c c e s s o r ( Node∗ c u r r e n t ) ; // Returns the s u c c e s s o r node 16 long i n t l e v e l ( ObjectData v ) ; // Returns the s t o r a g e l e v e l of a element 17 long i n t h e i g h t ( Node∗ c u r r e n t ) ; // Returns the h e i g h t of a node 18 long i n t quantityOfNodes ( Node∗ c u r r e n t ) ; // Quantity of t r e e nodes 19 bool f i n d ( ObjectData v ) ; // Finds a element i n t r e e 20 Node∗ f i n d ( ObjectData v ) ; // Finds a element i n t r e e 21 }; ¦ ¥ ObjectData deve implementar os operadores <, >, == Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 54. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Comparações Entre Estruturas do Tipo Árvore. Comparações de Desempenho O desempenho das operações numa árvore pode ser medido pela sua altura. Neste quadro estamos realizando uma comparação entre uma estrutura de árvore simples sem nenhum mecanismo de balaceamento (Árvore Binária) com outras duas espécies de árvore (AVL e Rubro-Negra) que possuem algum tipo de mecanismo de balanceamento intríseco. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 55. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Comparações Entre Estruturas do Tipo Árvore. Comparações de Desempenho O desempenho das operações numa árvore pode ser medido pela sua altura. Neste quadro estamos realizando uma comparação entre uma estrutura de árvore simples sem nenhum mecanismo de balaceamento (Árvore Binária) com outras duas espécies de árvore (AVL e Rubro-Negra) que possuem algum tipo de mecanismo de balanceamento intríseco. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 56. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Conclusões Conclusão Sobre a Estrutura de Dados O que podemos concluir sobre árvores e suas derivações? • Estrutura de dados de baixa complexidade; • Boa performance; • Amplamente utilizada; • Várias nuances e implementações; • Empregada em uma miríade de problemas práticos; • Quando balaceadas são mais rápidas em operações de busca; • Rebalanceamento pode ser oneroso: inserções e remoções; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 57. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Conclusões Conclusão Sobre a Estrutura de Dados O que podemos concluir sobre árvores e suas derivações? • Estrutura de dados de baixa complexidade; • Boa performance; • Amplamente utilizada; • Várias nuances e implementações; • Empregada em uma miríade de problemas práticos; • Quando balaceadas são mais rápidas em operações de busca; • Rebalanceamento pode ser oneroso: inserções e remoções; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 58. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Conclusões Conclusão Sobre a Estrutura de Dados O que podemos concluir sobre árvores e suas derivações? • Estrutura de dados de baixa complexidade; • Boa performance; • Amplamente utilizada; • Várias nuances e implementações; • Empregada em uma miríade de problemas práticos; • Quando balaceadas são mais rápidas em operações de busca; • Rebalanceamento pode ser oneroso: inserções e remoções; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 59. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Conclusões Conclusão Sobre a Estrutura de Dados O que podemos concluir sobre árvores e suas derivações? • Estrutura de dados de baixa complexidade; • Boa performance; • Amplamente utilizada; • Várias nuances e implementações; • Empregada em uma miríade de problemas práticos; • Quando balaceadas são mais rápidas em operações de busca; • Rebalanceamento pode ser oneroso: inserções e remoções; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 60. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Conclusões Conclusão Sobre a Estrutura de Dados O que podemos concluir sobre árvores e suas derivações? • Estrutura de dados de baixa complexidade; • Boa performance; • Amplamente utilizada; • Várias nuances e implementações; • Empregada em uma miríade de problemas práticos; • Quando balaceadas são mais rápidas em operações de busca; • Rebalanceamento pode ser oneroso: inserções e remoções; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 61. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Conclusões Conclusão Sobre a Estrutura de Dados O que podemos concluir sobre árvores e suas derivações? • Estrutura de dados de baixa complexidade; • Boa performance; • Amplamente utilizada; • Várias nuances e implementações; • Empregada em uma miríade de problemas práticos; • Quando balaceadas são mais rápidas em operações de busca; • Rebalanceamento pode ser oneroso: inserções e remoções; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 62. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Conclusões Conclusão Sobre a Estrutura de Dados O que podemos concluir sobre árvores e suas derivações? • Estrutura de dados de baixa complexidade; • Boa performance; • Amplamente utilizada; • Várias nuances e implementações; • Empregada em uma miríade de problemas práticos; • Quando balaceadas são mais rápidas em operações de busca; • Rebalanceamento pode ser oneroso: inserções e remoções; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 63. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Conclusões Conclusão Sobre a Estrutura de Dados O que podemos concluir sobre árvores e suas derivações? • Estrutura de dados de baixa complexidade; • Boa performance; • Amplamente utilizada; • Várias nuances e implementações; • Empregada em uma miríade de problemas práticos; • Quando balaceadas são mais rápidas em operações de busca; • Rebalanceamento pode ser oneroso: inserções e remoções; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 64. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Conclusões Conclusão Sobre a Estrutura de Dados O que podemos concluir sobre árvores e suas derivações? • Estrutura de dados de baixa complexidade; • Boa performance; • Amplamente utilizada; • Várias nuances e implementações; • Empregada em uma miríade de problemas práticos; • Quando balaceadas são mais rápidas em operações de busca; • Rebalanceamento pode ser oneroso: inserções e remoções; Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada
  • 65. Universidade Federal de Alagoas - Campus A. C. Simões Instituto de Matemática - Programa de Pós-graduação Agradecimentos Grato Pela Atenção! • Michel Alves - michel.mas@gmail.com Referências Bibliográficas Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0-262-03293-7. Donald Knuth. The Art of Computer Programming, Volume 3: Sorting and Searching, Third Edition. Addison-Wesley, 1997. ISBN 0-201-89685-0. Section 6.2.3: Balanced Trees, pp.458–481. Mark de Berg, Marc van Kreveld, Mark Overmars, and Otfried Schwarzkopf (2000). Computational Geometry (2nd edition ed.). Springer. ISBN 3-540-65620-0. Chapter 2: Line Segment Intersection, pp.19–44. Chapter 6: Point location. pp. 121–146. Lab. de Modelagem Geométrica e Visão Computacional Geometria Computacional: Árvore Binária Balanceada