Escolar Documentos
Profissional Documentos
Cultura Documentos
Pesquisa Externa
Métodos de pesquisa em memória secundária devem ser
empregados quando o espaço ocupado pelos dados, a
serem tratados, é maior que a memória interna disponível.
Pesquisa Externa O custo para acessar um dado em um arquivo é bem maior
do que o custo de processamento na memória interna.
Estrutura de Dados II
Prof. Guilherme Tavares de Assis Medida de complexidade: nº de transferências de dados
entre as memórias principal e secundária (minimização).
Memória secundária: apenas um dado pode ser acessado em
um determinado momento (acesso sequencial).
Universidade Federal de Ouro Preto – UFOP Memória principal: acesso a qualquer dado a um custo
Instituto de Ciências Exatas e Biológicas – ICEB uniforme (acesso direto).
Departamento de Computação – DECOM
Características da arquitetura e do SO tornam os métodos
1
dependentes de parâmetros que afetam seus desempenhos. 2
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
3 4
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
9 10
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
// procura pela página onde o item pode se encontrar // lê a página desejada do arquivo
i = 0; desloc = (tab[i-1].posicao-1)*ITENSPAGINA*sizeof(tipoitem);
while (i < tam && tab[i].chave <= item->chave) i++; fseek (arq, desloc, SEEK_SET);
fread (&pagina, sizeof(tipoitem), quantitens, arq);
// caso a chave desejada seja menor que a 1a chave, o item
// não existe no arquivo // pesquisa sequencial na página lida
if (i == 0) return 0; for (i=0; i < quantitens; i++)
else { if (pagina[i].chave == item->chave) {
*item = pagina[i]; return 1;
(*)
// continuando ... }
return 0;
}
} (*) // continuando ...
13 14
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
Árvore B Árvore B
Árvore B é uma técnica de organização e manutenção de Ex.: árvore B de ordem m = 2 com três níveis.
arquivos, proposta por Bayer e McCreight (1972). Todas as páginas contêm de 2 a 4 itens, exceto a raiz que
pode conter de 1 a 4 itens.
É uma árvore n-ária: mais de dois descendentes por nodo. O esquema representa uma extensão natural da árvore
Os nodos são mais comumente chamados de páginas. binária de pesquisa.
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
23 24
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
O intervalo desejado pode ser encontrado por meio de uma Ativação recursiva da Pesquisa
em uma das subárvores
pesquisa sequencial ou algum outro método mais eficiente. (esquerda ou direita)
25 26
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
27 28
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
29 30
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
33 34
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
35 36
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
37 38
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
(*)
(**)
(**)
/* continua ... */
39 40
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
(*)
(**)
(***)
(**)
(*)
(***)
/* continua ... */ /* continua ... */
41 42
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
(***)
(***)
(*)
43 44
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
47 48
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
Árvore B* Árvore B*
Uma das alternativas para implementação da árvore B é a Assim, em uma árvore B*, há uma separação lógica entre
árvore B*, onde: o índice (árvore B) e os itens que constituem o arquivo
todos os itens estão armazenados no último nível, ou seja, o propriamente dito.
nível das páginas folha; No índice, só aparecem as chaves dos itens.
os níveis acima do último nível constituem um índice cuja Os itens completos do arquivo encontram-se nas páginas
organização é a de uma árvore B. folha.
49 50
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
51 52
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
Verifica se a chave
desejada foi localizada
55 56
UFOP – ED-II – Prof. Guilherme Tavares de Assis UFOP – ED-II – Prof. Guilherme Tavares de Assis
57 58
59