LISTA DE FIGURAS

Propaganda
Lista de Figuras
Figura 1–1: Módulo de Memória DRAM
26
Figura 1–2: Um Disco Magnético com Três Pratos e Seis Superfícies
28
Figura 1–3: Geometria de uma Superfície de Disco Magnético
29
Figura 1–4: Um Setor Geométrico e um Setor (de Trilha)
29
Figura 1–5: Acesso a Blocos num Disco Magnético
31
Figura 1–6: Configuração de um Disco SSD
34
Figura 1–7: Bastão de Memória USB (Pen drive)
34
Figura 1–8: Acesso à Memória Principal
36
Figura 1–9: Conexão de Dispositivos de Entrada e Saída
37
Figura 1–10: Leitura de um Setor: CPU Faz a Solicitação
39
Figura 1–11: Leitura de um Setor: Envio de Dados para Memória Principal
40
Figura 1–12: Leitura de um Setor: Envio de Sinal de Interrupção para CPU
41
Figura 1–13: Hierarquia de Memória
42
Figura 1–14: Memórias Cache
44
Figura 1–15: Caching numa Hierarquia de Memória
45
Figura 1–16: Lapso de Cache e Desalojamento de Bloco
47
Figura 1–17: Exemplo de Bom Uso de Memória Cache
51
Figura 1–18: Padrões de Referência para Acesso a Arrays
53
Figura 2–1: Escrita Formatada
77
Figura 2–2: Leitura Formatada
78
Figura 3–1: Analogia entre uma Tabela de Busca e um Arquivo de Escritório
166
Figura 3–2: Transposição e Movimentação para Início em Lista Indexada
177
Figura 3–3: Transposição e Movimentação para Início em Lista Encadeada
181
Figura 3–4: Exemplo de Lista com Salto
191
Figura 3–5: Busca numa Lista com Salto
191
Figura 3–6: Lista Simplesmente Encadeada com Cabeça
193
Figura 3–7: Iniciação de uma Lista com Salto
194
Figura 3–8: Inserção numa Lista Simplesmente Encadeada com Cabeça
196
Figura 3–9: Inserção numa Lista com Salto 1
199
Figura 3–10: Inserção numa Lista com Salto 2
200
Figura 3–11: Inserção numa Lista com Salto 3
200
Figura 3–12: Remoção numa Lista Simplesmente Encadeada com Cabeça
201
Figura 3–13: Remoção numa Lista com Salto
203
Figura 3–14: Busca de Fibonacci: Chave Encontrada
207
Figura 3–15: Busca de Fibonacci: Chave Não Encontrada
208
Figura 4–1: Representação Esquemática de uma Árvore Ordinária
213
Figura 4–2: Duas Árvore Binárias Diferentes com Dois Nós
215
ix
x | Lista de Figuras
Figura 4–3: Árvore Binária Inclinada à Esquerda
215
Figura 4–4: Árvore Binária Perfeita
217
Figura 4–5: Árvore Binária Completa
217
Figura 4–6: Árvore Binária Inclinada Representada em Array
218
Figura 4–7: Árvore Binária Completa Representada em Array
219
Figura 4–8: Representação Esquemática de um Nó de Árvore Binária
219
Figura 4–9: Caminhamentos em Árvore Binária
221
Figura 4–10: Caminhamento Prefixo em Árvore Binária
222
Figura 4–11: Caminhamento Infixo em Árvore Binária
222
Figura 4–12: Caminhamento Sufixo em Árvore Binária
222
Figura 4–13: Representação de Expressão Aritmética em Árvore Binária 1
223
Figura 4–14: Representação de Expressão Aritmética em Árvore Binária 2
223
Figura 4–15: Caminhamento por Nível em Árvore Binária
224
Figura 4–16: Duas Árvores Binárias Semelhantes
227
Figura 4–17: Duas Árvores Binárias Não Semelhantes
227
Figura 4–18: Árvore Binária Costurada em Ordem Infixa à Direita
231
Figura 4–19: Inserção numa Árvore Binária de Busca
235
Figura 4–20: Inserção numa Árvore Binária de Busca
235
Figura 4–21: Inserção numa Árvore Binária de Busca
236
Figura 4–22: Árvore Binária de Busca
236
Figura 4–23: Chaves Ordenadas Inseridas numa Árvore Binária de Busca
237
Figura 4–24: Inserção numa Árvore Binária de Busca
238
Figura 4–25: Remoção de Nó numa Árvore Binária de Busca 1
242
Figura 4–26: Remoção de Nó numa Árvore Binária de Busca 2
242
Figura 4–27: Remoção de Nó numa Árvore Binária de Busca 3
243
Figura 4–28: Árvores AVL e Árvores Perfeitamente Balanceadas
247
Figura 4–29: Balanceamento de Nós numa Árvore AVL
248
Figura 4–30: Possíveis Inserções numa Árvore AVL 1
249
Figura 4–31: Possíveis Inserções numa Árvore AVL 2
250
Figura 4–32: Rotações numa Árvore AVL
251
Figura 4–33: Inserção numa Árvore AVL 1
253
Figura 4–34: Inserção numa Árvore AVL 2
254
Figura 4–35: Inserção numa Árvore AVL 3
254
Figura 4–36: Inserções que Podem Tornar uma Árvore AVL Desbalanceada 1
255
Figura 4–37: Inserções que Podem Tornar uma Árvore AVL Desbalanceada 2
256
Figura 4–38: Remoção de um Nó de uma Árvore AVL 1
262
Figura 4–39: Remoção de um Nó de uma Árvore AVL 2
262
Figura 4–40: Remoção de um Nó de uma Árvore AVL 3
263
Figura 4–41: Remoção de um Nó de uma Árvore AVL 4
263
Figura 4–42: Remoção de um Nó de uma Árvore AVL 5
264
Figura 4–43: Remoção de um Nó de uma Árvore AVL 6
264
Lista de Figuras | xi
Figura 4–44: Remoção de um Nó de uma Árvore AVL 7
265
Figura 4–45: Remoção de um Nó de uma Árvore AVL 8
265
Figura 4–46: Árvore Binária com afunilamento
267
Figura 4–47: Árvore Binária Autoajustável
267
Figura 4–48: Árvore Binária Autoajustável
268
Figura 4–49: Árvore Binária Autoajustável
268
Figura 4–50: Árvore Binária Autoajustável
269
Figura 4–51: Árvore Binária Afunilada
269
Figura 4–52: Árvore Binária Afunilada
269
Figura 4–53: Árvore Binária Afunilada
270
Figura 5–1: Árvore de Busca Multidirecional de Ordem 4
288
Figura 5–2: Árvore de Busca Multidirecional Descendente de Ordem 3
288
Figura 5–3: Árvore de Busca Multidirecional Balanceada de Ordem 3
289
Figura 5–4: Busca e Inserção em Árvore Multidirecional de Busca
303
Figura 5–5: Inserção de Chaves em Folhas de uma Árvore Multidirecional de Busca
305
Figura 5–6: Inserção de Chaves numa Árvore Multidirecional de Busca I
306
Figura 5–7: Inserção de Chaves numa Árvore Multidirecional de Busca II
306
Figura 5–8: Remoção de Chave numa Árvore Multidirecional de Busca I
313
Figura 5–9: Remoção de Chave numa Árvore Multidirecional de Busca II
313
Figura 5–10: Inserção de Chaves numa Árvore B I
317
Figura 5–11: Inserção de Chaves numa Árvore B com Tendência Esquerda
318
Figura 5–12: Inserção de Chaves numa Árvore B com Tendência Direita
318
Figura 5–13: Inserção de Chaves numa Árvore B com Divisão de Nós I
319
Figura 5–14: Inserção de Chaves numa Árvore B com Divisão de Nós II
319
Figura 5–15: Inserção de Chaves numa Árvore B com Divisão de Nós III
320
Figura 5–16: Inserção de Chaves numa Árvore B com Criação de Nova Raiz
320
Figura 5–17: Criação de uma Árvore B I
320
Figura 5–18: Criação de uma Árvore B II
320
Figura 5–19: Criação de uma Árvore B III
321
Figura 5–20: Criação de uma Árvore B IV
321
Figura 5–21: Criação de uma Árvore B V
321
Figura 5–22: Criação de uma Árvore B VI
321
Figura 5–23: Criação de uma Árvore B VII
321
Figura 5–24: Criação de uma Árvore B VIII
322
Figura 5–25: Remoção de Chaves de uma Árvore B 1
332
Figura 5–26: Remoção de Chaves de uma Árvore B 2
332
Figura 5–27: Remoção de Chaves de uma Árvore B 3
333
Figura 5–28: Remoção de Chaves de uma Árvore B 4
333
Figura 5–29: Remoção de Chaves de uma Árvore B 5
333
Figura 5–30: Remoção de Chaves de uma Árvore B 6
334
Figura 5–31: Remoção de Chaves de uma Árvore B 7
334
Figura 5–32: Remoção de Chaves de uma Árvore B 8
334
Figura 5–33: Remoção de Chaves de uma Árvore B 9
334
Figura 5–34: Remoção de Chaves de uma Árvore B 10
335
Figura 5–35: Ilustração do passo 2 do algoritmo JuntaNos
336
Figura 5–36: Ilustração do passo 3 do algoritmo JuntaNos
336
Figura 5–37: Ilustração do Passo 4.1 do Algoritmo JuntaNos
337
Figura 5–38: Ilustração do Passo 4.2 do Algoritmo JuntaNos
337
Figura 5–39: Árvore B+
340
Figura 6–1: Funcionamento da Função strtok()
367
Figura 6–2: Casamento de Strings por Força Bruta
371
Figura 6–3: Algoritmo de Knuth, Morris e Pratt (KMP)
373
Figura 6–4: Boyer e Moore (BM) 1
374
Figura 6–5: Boyer e Moore (BM) 2
374
Figura 6–6: Boyer e Moore (BM) 3
374
Figura 6–7: Boyer e Moore (BM) 4
374
Figura 6–8: Algoritmo de Rabin e Karp 1
375
Figura 6–9: Trie 1
376
Figura 7–1: Inserção de Chaves numa Tabela de hashing com e sem Colisão I
412
Figura 7–2: Inserção de Chaves numa Tabela de hashing com e sem Colisão I
414
Figura 7–3: Inserção de Chaves numa Tabela de hashing com e sem Colisão II
415
Figura 8–1: Árvore Binária Completa e Respectivo Array Associado
429
Figura 8–2: Heap Binário Ascendente e Respectivo Array Associado
431
Figura 8–3: Inserção de Nó em Heap Binário Ascendente 1
432
Figura 8–4: Inserção de Nó em Heap Binário Ascendente 2
432
Figura 8–5: Remoção e Ordenação de um Heap Ascendente
435
Figura 9–1: Ordenação pelo Método de Bolhas (Bubble Sort)
447
Figura 9–2: Ordenação pelo Método Quicksort
449
Figura 9–3: Ordenação pelo Método Árvore Binária de Busca
453
Figura 9–4: Ordenação pelo Método de Inserção Simples
457
Figura 9–5: Ordenação pelo Método de Shell
459
Figura 9–6: Ordenação pelo Método de Intercalação (Merge Sort)
463
Figura 10–1: Exemplos de Grafos
489
Figura 10–2: Exemplos de Dígrafos
490
Figura 10–3: Grafo Representando Conexões entre Cidades
490
Figura 10–4: Grafo Direcionado vs Grafo Não Direcionado
491
Figura 10–5: Grafo Não Direcionado Representando um Conjunto de Vértices
491
Figura 10–6: Grafo Direcionado Representando um Conjunto de Vértices
492
Figura 10–7: Grafos Completos
492
Figura 10–8: Grafo Representando Cidades e Distâncias entre Elas
493
Figura 10–9: DAG493
Figura 10–10: Um Grafo Complexo
494
Figura 10–11: Busca com Retrocesso
494
Figura 10–12: Matriz de Adjacência
495
Figura 10–13: Lista de Adjacência
495
Figura 10–14: Grafo e Campo de Informação Correspondente
496
Figura 10–15: Caminhamento em Profundidade
497
Figura 10–16: Caminhamento em Largura
497
Figura 10–17: Caminhamento em Profundidade
498
Figura 10–18: Árvore de Abrangência
499
Figura 10–19: Árvore de Abrangência Mínima
500
Download