1º Semestre - 2007
ICMC - USP - São Carlos
João do E.S. Batista Neto (contato)
Horário de Revisão: TERÇA (24/04: 14:00 - 17:00) e QUARTA (25/04: 10:00-12:30)
- Tipos Abstratos de Dados
- Recursão
- Análise de Algoritmos
- Listas(estáticas/dinâmicas)
- Sequenciais
- Encadeadas: simples, duplas, circulares
- Pilhas e Filas
- Listas Generalizadas
- Espalhamento (Hashing)
- Ordenação
- BubbleSort, Seleção, Inserção
- ShellSort, HeapSort, QuickSort
- Árvores
- Binárias
- AVL
- B-Árvores
- Quad-trees
- Quad-tree
- M-Tree
- Grafos
- Representação
- Buscas
- Caminho Custo Mínimo
[Índice]
[Índice]
Aula 1
Apresentação da Disciplina
Tipos Abstratos de Dados
- Exemplo (1) de TAD Pilha em em C
- Exemplo (2) de TADs em C em C
- Exemplo (2) de TADs em C em C++
- Exemplo (2) de TADs em C em Java
Complexidade de Algoritmos
Ponteiros: uma breve revisão
Aula 2
Ordenação
- Inserção
- Seleção
- Shell
- MergeSort
- ShellSort
- HeapSort
- Animações (Applets) de algoritmos de ordenação
- Animação do heapdort
- Link interessante sobre ordenação
Aula 3
Listas e Listas Generalizadas
- TADs
- Possíveis Implementações
- Listas Estáticas: contínuas e encadeadas
- Listas Dinâmicas: simplesmente e duplamente encadeadas
- Material listas, etc
Aula 4
Pilhas e filas
- TADs
- Pilhas e Filas como especializacoes das listas generalizadas
- Pilhas: aplicações
- Filas circulares: implementação
Aula 5
Prova 1
Aula 6
Matrizes Esparsas e Hashing
Lista exercícios Hashing (1)
Lista exercícios Hashing (2)
Aula 7
Árvores, Árvores Binárias e busca binária
Código fonte (C) para arvores binarias. Observer particularmente a função para retirada do nó. Tente
entender como os ponteiros são atualizados
Lista exercícios Árvores binárias
Aula 8
AVL
Função de Inserção
Função de Balancear à Direita
Regras para Remoção em AVL
Diagrama com exemplo de Remoção em AVL
Lista exercícios AVL
Trabalho de AVL com função de remoção implementada
Aula 9
Árvores-B
Representação de uma Árvore 5-way
Representação de uma Árvore-B de ordem 5
Exemplo de inserção em Árvore-B de ordem 5
Exemplo de remoção em Árvore-B de ordem 5
Codigo Algoritimo de Insercao em Arvore - B
Implementação Árvore-B (Kruse)
Árvores B lista de exercícios
Aula 10
Prova 2
Aula 11
Grafos - Conceitos
Livro Teoria dos grafos
Apostila Prof. Paulo Feofiloff
Pagina do Prof. Paulo Feofiloff
Material de Apoio 1
Material de Apoio 2 (Ziviani)
Material de Apoio 3
Aula 12
Grafos (Parte 2)
Grafos, Estruturas de representação, caminhamento
Material de Apoio 1
Material de Apoio 2
Material de Apoio 3
Caminhamento em grafos: profundidade
Caminhamento em grafos: largura
Caminho de custo mínimo: Um (quase) algoritmo de Dijkstra
Aula 13
Grafos (Parte 3)
Material base: Apoio 1
Árvores Geradoras: Algoritimos de Prim e Kruskal
Ordenação topológica
Ordenação topológica 2
Coloração de mapas: Material interessante
Coloração de mapas: Mat. Gustavo
Aula 14
???
Aula 15
Prova 3
[Índice]
Provas 1, 2 e 3
Prova Substitutiva
Projeto de programação individual
- Algo que contemple estrutura de dados e
que seja relacionado ao seu trabalho de mestrado
- Apresentação oral do trabalho
NOTAS DAS PROVAS (ATUALIZADAS) UM, DOIS e TRÊS
Enunciado Prova UM
Enunciado Prova DOIS
Enunciado Prova TRÊS
[Índice]
[Índice]
Individual / Grupos de 2 ou 3 (máximos) pessoas.
[Índice]
Bibliografia Básica
TENEMBAUM,A.M., et all. Data Structures Using C, Prentice-Hall, 1990
WIRTH,N. Algorithms + Data Structures = Programs, Prentice-Hall, 1986
KRUSE, R. Data Structure and Programming Design. Prentice Hall, 1994
HOROWITZ e SAHNI - Fundamentos de Estrutura de Dados, Rio de Janeiro, Campus, 1986
TREMBLAY, S. - An Introduction to Data Structures with Applications, 1976
CORMEN T.H., LEISERSON C.E, RIVEST R.L. - Introduction to Algorithms, The MIT Elect. Engineering and Computer Science Series, 1997.
Bibliografia Complementar
KERNIGHAM,B.; RITCHIE,D. The C Programming Language, Prentice-Hall, 1988
[Índice]
- Google
- MATERIAL ONLINE DO LIVRO DO KRUSE
siga o link: pub/esm/computer_science.s-041/kruse/dspdc2
[Índice]