Balanced Binary Trees

382 views

Published on

A balanced binary tree is commonly defined as a binary tree in which the depth of the left and right subtrees of every node differ by 1 or less, although in general it is a binary tree where no leaf is much farther away from the root than any other leaf.

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
382
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Balanced Binary Trees

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×