Profa Patrícia Dockhorn Costa
Ensino Estruturas de Dados I (INF09292) - 2019/02



  



 home

informações gerais
programa
resultados de avaliação
calendário de aulas
material bibliográfico


Esta é a página da disciplina Estruturas de Dados oferecida pelo Departamento de Informática da Universidade Federal do Espírito Santo (UFES) para os curso de Engenharia de Computação, Ciência da Computação e Engenharia Elétrica, no segundo semestre de 2019.

Professora: Patrícia Dockhorn Costa

Email: EDUFES2019@gmail.com

Carga horária semestral total: 60 horas

Horários:

(turma manhã) segundas e quartas: 07:00 às 09:00

(turma tarde) segundas e quartas: 15:00 às 17:00


Local: (turma manhã): sala 202
           (turma tarde): sala 207

monitoria: - PET Engenharia de Computação (Otávio e João Lucas)
                  - Sextas das 11:00 às 13:00 no LabGrad1

Comunicados:



      



Objetivos Gerais:
Familiarizar os alunos com as principais estruturas de dados e suas correspondentes abstrações.

Metodologia:
Aulas expositivas, listas de exercícios e trabalhos.

Critério de Avaliação:
Duas provas parciais e dois trabalhos. A média parcial é calculada por: MP = 0,5*P + 0,5*T
onde: P é a média aritmética das provas parciais e T é a média aritmética das notas dos trabalhos.
A média final será:
MF = MP, se MP ≥ 7,0.
MF = (PF + MP)/2, se MP < 7,0. (PF é a nota da prova final)
Se MF ≥ 5,0 -> Aprovado.
Se MF < 5,0 -> Reprovado.


Programa da Disciplina:

  • Introdução
  • Tipos Abstratos de Dados
    • Definição de estrutura abstrata
    • Pré e pós condições
    • Conceito de software em camadas
  • Uso eficiente de memória
    • Alocação estática e alocação dinâminca
    • Estruturas de dados encadeadas
    • Manipulação de ponteiros em C
  • Listas
    • Lista com alocação estática e alocação dinâmina
    • Listas duplamente encadeadas
    • Listas circulares e listas duplamente encadeadas circulares
  • Pilhas
    • Pilhas com estruturas estática e dinâminca
    • Aplicações
  • Filas
    • Filas com estruturas estática e dinâminca
    • Aplicações
  • Recursão
  • Árvores
    • Árvore binária
    • Algoritmos de travessia
    • Árvore binária de busca
    • Árvore com Número Variável de Filhos
    • Árvores Genéricas
  • Estruturas de Dados Genéricas
    • Ponteiro genérico
    • Ponteiro para função
    • Callbacks
  • Introdução a algoritmos de busca e ordenação
  • Tabela Hash

Aulas
12/08/2019 1
Primeira Aula -  Introdução (slides)
Estruturas Estáticas (slides)
14/08/2019
2
Uso da memória e ponteiros (slides)
Exercícios ponteiros (pdf)

19/08/2019 3
Aula de laboratório (enunciado)
21/08/2019
4
Matrizes (slides)
26/08/2019 5
Caracteres (slides)
Tipos Estruturados (slides)
28/08/2019 6
Tipos Abstratos de Dados (slides)
02/09/2019 7
Aula de laboratório
Enunciado exercício
matriz.h, progmat.c
04/09/2019
8
tad lista com vetores (slides)
tad lista encadeada com sentinela (slides)

- Exercícios sala de aula sobre listas (pdf)

09/09/2019
9
Aula de laboratório:
- enunciado exercicio
- lista.h e proglista.c

11/09/2019 10
- tad lista encadeada sem sentinela (slides)
- outras implementações de listas (slides)

16/09/2019
11
Aula de LAB Listas Duplamente Encadeadas

listadpl.h
18/09/2019 12
Tad Pilha (slides)

Exercícios pilhas duplas:
- pilhas duplas


Enunciado Primeiro Trabalho!
Exemplos de entrada
Exemplos de saída
23/09/2019
13
Aula de laboratório
Implementar o tad pilha e enviar para o email
- TadPilha:  pilha.h
- Programa testador: progpilha.c

25/09/2019
14
Tad Fila
30/09/2019 15
Aula de laboratório (pilha e fila):
- Enunciado
- pilha.h
- fila.h e progfila.c

02/10/2019
16
Revisão de Prova
07/10/2019
17
Primeira Prova Parcial (no labgrad)
09/10/2019
18
- Revisão da prova
- recursão (slides)
14/10/2019 19
- tad árvore (slides)
- exercícios árvore
16/10/2019
20
- tad árvore binária (cont.)
21/10/2019 21
Aula de laboratório
- enunciado
- arvore.h
- prog_arv.c

23/10/2019
22
- Dúvidas Trabalho
30/10/2019
23
- Busca em Vetor e Árvore Binária de Busca
04/11/2019 24
Aula de Laboratório de ABB

- Enunciado segundo trabalho (pdf)
- Código de Huffman
- Tad Bitmap

06/11/2019
25
- Estruturas genéricas (slides)
11/11/2019
26
Aula de Laboratório de Estruturas Genéricas
13/11/2019 27
cancelada (chuvas)
18/11/2019
28
Árvore com número variável de filhos (slides)
Aula de teoria e prática no laboratório
20/11/2019
29
Tabela Hash (não houve aula para a turma do vespertino - chuvas)
25/11/2019
30
Tabela Hash (lab para a turma da manhã e sala de aula para turma da tarde)
27/11/2019
31
Dúvidas trabalho (lab de tabela hash para a turma da tarde)
04/12/2019
32
Revisão prova
Aula extra:  Laboratório de árvore de expressões
- enunciado
- arv_exp.h
- progarv_exp.c
09/12/2019 33
Segunda Prova Parcial  (no labgrad)
04/12
11/12


Entrega de trabalhos e entrevistas
18/12/2019
Prova Final

Resultados de avaliação:


Material bibliográfico:

  • Celes, Cerqueira e Rangel. Introdução a Estruturas de Dado: com técnicas de programação em C, 2. ed, Editoria Elsevier, 2016.
  • Celes, Cerqueira e Rangel. Introdução a Estruturas de Dado: com técnicas de programação em C, Editoria Elsevier, 2004.
  • SEDGEWICK, Robert. Algorithms in C, Parts 1-4, Third Edition, Addison-Wesley, 1998
  • ZIVIANI, Nivio Projetos de Algoritmos com implementações em Pascal e C , Livraria Pioneira Informática , 1993
  • CORMEN, Thomas H., LEISERSON, Charles E., RIVEST, Ronald L., STEIN, Cliff. Introduction to Algorithms (Second Edition), MIT Press, 2001
  • TENENBAUM, LANGSAM, and AUGENSTEIN Estruturas de Dados usando C, Pearson, 2005
  • KNUTH, Donald E. The Art of Computer Programming, Volume I, Third Edition, Addison-Wesley, 1997