Академический Документы
Профессиональный Документы
Культура Документы
Universidade Federal de Ouro Preto UFOP Instituto de Cincias Exatas e Biolgicas ICEB Departamento de Computao DECOM Estrutura de Dados II
Espao de dados
Qualquer tipo de dado supe um espao onde ele est imerso Modelagem de dados requer que se escolha um espao apropriado Frequentemente, mais de uma opo possvel Exemplo: Cidade
Espao de cadeias de caracteres Cdigo numrico (ex. CEP) Ponto do planisfrio (Latitude e Longitude) Conjunto de pontos (ex. delimitado por um polgono)
processamento
Dimenso
Dados escalares (no espaciais) so modelados como pontos em
um espao unidimensional
Existe uma cidade chamada So Paulo ? Existe uma cidade em 39 2930 S, 65 5020 W ?
o o
Vizinhana
Uso de ordenao
Dados escalares
possvel estabelecer uma ordem total Ordenao facilita operaes de localizao e vizinhana
Dados espaciais
impossvel estabelecer uma ordem total sem romper com relaes de vizinhana A imposio de uma ordem total conhecida como linearizao do espao. Exemplo: ordenar um conjunto de pontos lexicograficamente Ordenao parcial, no entanto, pode facilitar diversas operaes
Localizao de dados: O(log n) Vizinhana: O(log n) Otimizadas para utilizao em memria secundria (disco) Asseguram alta taxa de utilizao (garantidamente > 50%)
Utiliza-se estruturas de dados gerais que tm eficiencia razovel no caso mdio. Ex.: PMR-quadtrees, Grid files, R-trees e suas variantes
10
dimenso a mais;
Bancos de dados cientficos, com dados espao-temporais.
11
dados espaciais
Hash: no atende a consultas de faixa (range queries)
12
13
Como Processar este tipo de consulta de forma eficiente? Para esses sistemas existe
uma classe de mtodos conhecidos como mtodos de acesso multidimensionais.
14
Consultas
Considere 2 tipos de consultas: Consultas de pontos Consultas de intervalo
15
De 1 para 2 dimenses
Consultas de pontos: recupera as tuplas
16
De 1 para 2 dimenses
Consultas de intervalos: recupera todas as tuplas com referncias
espaciais dentro de uma dada faixa. A faixa normalmente uma rea retangular especificada pelas coordenadas de dois vrtices opostos ou
17
De 1 para 2 dimenses
Dados espaciais so expressos no espao Euclidiano Por exemplo, considere a tabela a seguir
18
19
De 1 para 2 dimenses
Exemplos de consultas
20
De 1 para 2 dimenses
Algoritmo linear para consulta de ponto
1. Open Potteries file 2. while existem registros a examinar do 3. Leia o prximo registro r 4. if r.East = 37 then 5. if r.North=43 then 6. Recupere o nome do local deste registro
21
De 1 para 2 dimenses
Algoritmo linear para consulta de intervalo
1. Open Potteries file 2. while existem registros a examinar do 3. Leia o prximo registro r 4. if r.East est na faixa [20,40] then 5. if r.North est na faixa [20,50] then 6. Recupere o nome do local deste registro
22
De 1 para 2 dimenses
Desempenho dos algoritmos lineares ficam ruins a medida que a
tabela a seguir:
23
ndice
East 14 Site Newcastle Museum North 00 Site Trentham Gardens 17 18 Westport Lake New Victoria Theater 23 25 Gladstone Pottery Museum Beswick Pottery
20 31 31
36 39 43
36
Minton Pottery
44
37
41 53 54 66
Spode Pottery
City Museum Ford Green Hall Coalport Pottery Beswick Pottery
55
58 62 65 87
74
92
Westport Lake
86
99
24
De 1 para 2 dimenses
Consulta de ponto
primeira coordenada 37. Da vai-se aos dados para ver das tuplas
pode-se fazer uma busca por faixa [20,40] no primeiro ndice, que
resulta numa lista de ponteiros para o arquivo de dados. Ento, para cada ponteiro na lista, acessa-se sua tupla e verifica-se se a segunda
25
De 1 para 2 dimenses
Problemas com indexao convencional:
ndice
26
ponto
27
Quad Tree
Propriedades gerais
28
QuadTree
Acelera o acesso a dados num plano 2d Tcnica bastante simples O espao de busca recursivamente decomposto em quadrantes
at que o nmero de retngulos sobrepondo cada quadrante menor do que a capacidade da pgina.
Os quadrantes so nomeados: Noroeste, Nordeste, Sudeste e
Sudoeste
29
Quadtree
O ndice representado como uma rvore quaternria (cada n
sobrepem
30
Quadtree
31
Quadtree
Consulta de ponto (point query) simples em quad tree.
ponto da consulta
32
Quadtree
Exemplo de Consulta Ponto P
33
Quadtree
Insero em quadtrees um retngulo ser inserido em cada quadrante folha que o
sobrepe
ento todos os caminhos para as folhas que sobrepem o
34
Quadtree
Insero em quadtrees Se P estiver cheio, O quadrante deve ser dividido em quatro
intercepta E
35
Quadtree
Insero em Quadtree
36
Quadtree
Deleo de pontos
Idia do algoritmo anlogo em rvores binrias no pode ser usada: nem sempre existem ns-folha que podem substituir o n sendo deletado
37
Quadtree
Deleo de pontos
NW de P
Para escolher Q, o melhor dos 4 candidatos:
38
Quadtree
39
Quadtree
40
Quadtree: Variantes
Existem diversas variantes da Quad tree: MX-CIF Quad tree:
objetos com extenso (retngulos);
PM-Quad trees:
Mapas;
41
42
Aplicaes Quadtree
A decomposio da quadtree uma tcnica simples usada para obter uma representao da
Esta representao pode ser til para uma variedade de opes para processamento de
3D Studio MAX 3 (um dos mais populares softwares para animao e renderizao de imagens 3D): utiliza a quadtree para fazer o controle da profundidade de cor para sombras RayTrace.
Codec para Video-Phone: A ltima meta de uma baixa taxa de codificao da imagem
transmisso.
43
Aplicaes Quadtree
Corrigir deformaes de cores nas fotos. Como por exemplo,
quando se tira uma foto e a pessoa est com os olhos avermelhados, podendo isso ser corrigido utilizando a quadtree.
Compactao de imagens.
44
Vantagens Quadtree
A vantagem mais bvia no uso de quadtrees na codificao de imagens que
45
Vantagens Quadtree
Em comparao com outras rvores, como a rvore binria, a
quadtree fornece uma estrutura de rvore num formato muito mais compacto e robusto.
46
Desvantagens Quadtree
Se a imagem tem grandes reas com uma nica cor (como por
exemplo: o preto ou branco) haver um grande ganho em espao e uma rvore bastante compacta, mas se a imagem tiver grandes reas com diferentes cores (como por exemplo: azul, amarelo, verde, etc...) a rvore resultante ser muito maior no
47
Desvantagens Quadtree
Um considervel consumo de CPU quando se trabalha com
imagens complexas (diversas cores, formas irregulares como curvas e tringulos, etc) na gerao da rvore.
No h balanceamento.
48
Simulao Quadtree
http://closure-library.googlecode.com/git/closure/goog/demos/quadtree.html