UFSC - CTC - INE Curso de Ciência da Computação Disciplina: INE5384 – Estruturas de Dados Turma: 332B Semestre: 2002/2 Professor: Ronaldo S. Mello Home-page: www.inf.ufsc.br/~ronaldo/ine5384 Programa da Disciplina Objetivo: Esta disciplina apresenta as estruturas de dados clássicas e as formas de representação e aplicação destas estruturas na solução de problemas computacionais. O paradigma orientado a objetos é utilizado para exemplificar a implementação destas estruturas. Ao final da disciplina, o aluno deve ser capaz de identificar e implementar a melhor estrutura de dados para solucionar um problema computacional. Caráter: Teórico-prática Conteúdo: 1. Introdução 1.1 Motivação para o uso de estruturas de dados 1.2 Modelagem lógica e física 1.3 Tipos abstratos de dados 1.4 Linguagem algorítmica OO 2. Listas 2.1 Características 2.2 Operações básicas 2.3 Implementação na forma de Vetores 2.4 Implementação na forma de Encadeamento 2.5 Tipos de listas 2.5.1 Pilhas 2.5.2 Filas 2.5.3 Deques 2.6 Tipos especiais de listas 2.6.1 Lista duplamente encadeada 2.6.2 Lista circular 3. Matrizes 3.1 Características 3.2 Tipos de Matrizes (simétricas, esparsas, ...) 4. Árvores 4.1 Características 4.2 Árvores n-árias 4.3 Árvores binárias 4.4 Tipos de caminhamento 5. Métodos de Pesquisa de Dados 5.1 Sequencial 5.2 Hashing 5.3 Pesquisa baseada em árvore 5.3.1 Árvores AVL 5.3.2 Árvores B 6. Métodos de Ordenação de Dados 6.1 Por troca (Bubblesort e Quicksort) 6.2 Por inserção (inserção direta e Shellsort) 6.3 Por seleção (seleção direta e Heapsort) 6.4 Por distribuição de chave (Bucketsort) 6.5 Por intercalação (Mergesort) Avaliação: 3 provas (P1, P2 e P3) n Exercícios (em sala de aula ou com entrega posterior) 2 Trabalhos Conteúdo da P1: itens 1, 2 e 3 Conteúdo da P2: itens 4 e 5 Conteúdo da P3: item 6 Média Provas (MP) = (P1+P2+P3)/3 Média Exercícios (ME) = (e1+ ... + en)/n Média Trabalhos (MT) = (T1 + T2)/2 Nota Final (NF) = 0.6 MP + 0.1 ME + 0.3 MT Recuperação: prova abrangendo todo o conteúdo ministrado na disciplina (PR). Aplica-se somente a alunos com 3.0 <= NF < 5.75. A nova nota final (NNF) será NNF = (NF + PR) / 2. Bibliografia: 1. Press, B.R. Data Structures and Algorithms With Object-Oriented Design Patterns in Java. 3 ed. Editora John Wiley & Sons, 2000. (livrotexto) 2. Horowitz, E. Fundamentos de Estruturas de Dados. Editora Campus, 1986. 3. Veloso, P. Estruturas de Dados. Editora Campus. 4. Wirth, N. Algoritmos e Estruturas de Dados, 1 ed. Editora LTC, 1989. 5. Goodrich, M. & Tamassia, R. Estruturas de Dados e Algoritmos em Java. 1 ed. Editora Bookman, 2002. 6. Villas, M. V. Estruturas de Dados: Conceitos e Técnicas de Implementação. Editora Campus, 1993.