Pré-Req: MC202
Ementa
Dispositivos de armazenamento de dados. Organização de arquivos e tipos de acesso. Operações básicas sobre arquivos. Indexação e listas invertidas. Estruturas eficientes de busca: árvores B e variações, espalhamento.
Programa
1. Arquivos e armazenamento externo
1. Dispositivos de disco, funcionamento e formato físico.
2. Tempo de acesso: seek, latência e taxa de transferência.
3. Operações com arquivos: abertura, posicionamento, leitura, escrita e fechamento.
4. Acesso sequencial e aleatório.
5. Processamento co-sequencial (intercalação) de arquivos.
6. Técnicas para ordenação de arquivos de grande porte.
7. Compressão de arquivos e aplicações.
2. Indexação e acesso eficiente
1. Indexação por chaves; listas invertidas.
2. Indexação de texto.
3. Árvores B e generalizações.
4. Técnicas de espalhamento (hashing) para arquivos: encadeado, linear, quadrático.
Bibliografia
1. M. J. Folk e B. Zoellick, File Structures (2nd ed.). Addison-Wesley (1992). ISBN 0201557134.
2. M. J. Folk, G. Ricciardi e B. Zoellick, File Structures: An Object-Oriented Approach with C++ (3rd ed.). Addison-Wesley (1997). ISBN 0201874016.
3. N. Ziviani, Projeto de Algoritmos com Implementações em Pascal e C (2a. ed.). Thomson (2004). ISBN 85-221-0390-9.
4. M. Farley, Building Storage Networks. McGraw Hill (1999). ISBN 0072120509.
5. N. Miller File Structures Using Pascal. Addison-Wesley (1987). ISBN 080537082X. (Out of Print).
6. B. J. Salzberg, File Structures: An Analytic Approach. Prentice Hall (1988). 013314691X (Out of print).
7. P. E. Livadas, File Structures: Theory and Practice. Prentice Hall (1990). ISBN 0133150941 (Out of Print).