MC202 - Estruturas de Dados
Instituto de Computação
Universidade Estadual de Campinas
2º semestre de 2018
Turmas ABCD
Professor: Hélio Pedrini
Local e Horário
- Segundas: 14h00 às 16h00 (salas CC03/CC04)
- Terças: 10h00 às 12h00 (sala CB06) e 14h00 às 16h00 (salas CC03/CC04)
- Quintas: 10h00 às 12h00 (sala CB04)
Monitores
- Eduardo de Souza Gama (PED-C): eduardogama72@gmail.com
- Geovanna Evelyn Espinoza Taype (PED-C): evelynespinozataype@gmail.com
- Jadisha Yarif Ramirez Cornejo (PED-C): jadisha@gmail.com
- William Hideki Azana Tustumi (PED-C): whatust@gmail.com
- Guilherme de Brito Abreu (PAD): guiii88@outlook.com
- Miguel Ángel Marfurt Alarcón (PAD): miguel.marfurt@gmail.com
Horários de Atendimento dos Monitores
- Quartas: 13h00 às 14h00 (sala SI04)
- Sextas: 18h00 às 19h00 (sala SI04)
Ementa
Estruturas básicas para representação de informações: listas, árvores, grafos e suas generalizações. Algoritmos para construção, consulta e manipulação de tais estruturas. Desenvolvimento, implementação e testes de programas usando estruturas de dados em aplicações específicas.
Programa
- Tipos Abstratos de Dados
- Listas Ligadas Simples
- Pilhas e Filas (conceitos e aplicações)
- Listas Duplamente Ligadas
- Listas Circulares
- Recursão
- Fila de Prioridade
- Árvores Binárias (representações, percursos, aplicações)
- Árvores Binárias de Busca (operações)
- Árvore Balanceadas
- Árvores Gerais
- Listas Generalizadas
- Métodos de Ordenação
- Funções de Espalhamento (conceitos e aplicações)
- Grafos (conceitos, representações, aplicações)
- Percurso em Grafos (largura e profundidade)
Critérios de Avaliação
- Provas
- Prova 1: 25 de setembro de 2018
- Prova 2: 22 de novembro de 2018
- Exame: 11 de dezembro de 2018
- Trabalhos
Média das provas: P = (4*Prova1 + 6*Prova2) / 10
Média dos trabalhos: T = média ponderada dos trabalhos (o peso de cada trabalho será divulgado em seu respectivo enunciado)
Média parcial (M):
- se P + T > 0 então M = (2*P*T) / (P+T)
- se P = T = 0 então M = 0
Exame (E): para alunos com 2,5 <= M < 5,0
Média final (F):
- se M >= 5,0 então F = M
- se M < 5,0 então F = (E + M) / 2
Se F < 5,0, o aluno será considerado reprovado na disciplina. Caso contrário, será considerado aprovado.
Observação: qualquer ocorrência de fraude nas provas ou nos trabalhos práticos resultará em média final igual a zero para todos os envolvidos.
Bibliografia
- Básica
- W. Celes, R. Cerqueira, J.L. Rangel. Introdução a Estruturas de Dados com Técnicas de Programação em C. Elsevier Editora Ltda, Rio de Janeiro, RJ, 2016.
- A.M. Tenenbaum, Y. Langsam, M.J. Augenstein. Data Structures Using C. Prentice Hall, Upper Saddle River, NJ, 1990 (Tradução: Estruturas de Dados Usando C. Makron Books do Brasil Editora Ltda, São Paulo, SP, 1995).
- N. Ziviani. Projeto de Algoritmos com Implementações em Pascal e C. Livraria Pioneira Editora, São Paulo, SP, 1994.
- J.L. Szwarcfiter, L. Markenzon. Estruturas de Dados e seus Algoritmos. LTC-Livros Técnicos e Científicos, Rio de Janeiro, RJ, 1994.
- P. Feofiloff. Algoritmos em Linguagem C. Campus/Elsevier, 2008-2009.
- B.W. Kernighan, D.M. Ritchie. The C Programming Language. Prentice-Hall, Englewood Cliffs New Jersey, 1978 (Tradução: C - A Linguagem de Programação. Editora Campus, 1986).
- E. Horowitz, S. Sahni, S. Anderson-Freed. Fundamentals of Data Structures in C. Computer Science Press, 1993.
- E.M. Reingold, W.J. Hansen. Data Structures. Little, Brown, 1983.
- Complementar
- T.H. Cormen, C.E. Leiserson, R.L. Rivest. Introduction to Algorithms. MIT Press, Cambridge, Massachusetts, 1996 (Tradução: Algoritmos: Teoria e Prática. Editora Campus, 2002).
- R. Sedgewick. Algorithms. Addison-Wesley, Reading, Massachusetts, 1983.
- A.V. Aho, J.E. Hopcroft, J.D. Ullman. Data Structures and Algorithms. Addison-Wesley, Reading, Massachusetts, 1983.
- P.A.S. Veloso, C.S. Santos, P.A. Azeredo, A.L. Furtado. Estruturas de Dados. Editora Campus, Rio de Janeiro, RJ, 1986.
- N. Wirth. Algorithms and Data Structures. Prentice-Hall, 1986 (Tradução: Algoritmos e Estruturas de Dados. Prentice-Hall do Brasil Ltda, 1989).
- D.E. Knuth. The Art of Computer Programming, vol. 1 (Fundamental Algorithms); Sorting and Searching, vol. 3. Addison-Wesley, 1973.
Notas e Frequências