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



  



 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 primeiro semestre de 2020.

Professora: Patrícia Dockhorn Costa

Email: EDUFES2020@gmail.com

Carga horária semestral total: 60 horas

Horários:

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

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


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

monitoria: PET Engenharia de Computação

Comunicados:

  • 15/04/2020: Exercícios sobre listas encadeadas, adaptados de provas antigas (McDonalds e MergeOcorrencias). Qualquer dúvida, enviar email para EDUFES2020@gmail.com
  • 08/04/2020: Liberados os vídeos-aula sobre Lista Simplesmente Encadeada com Sentinela (por email). Qualquer dúvida, enviar email para EDUFES2020@gmail.com
  • 18/03/2020: Todos em casa de quarentena! Enquanto a UFES não define os procedimentos, favor fazer o TAD Matriz em casa (aula 6)!
  • Primeira aula: 02/03/2020


      



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
02/03/2020 1
Primeira Aula -  Introdução (slides)
Estruturas Estáticas (slides)
Exercícios ponteiros (pdf)
04/03/2020
2
Uso da memória e ponteiros (slides)
09/03/2020
3
Caracteres (slides)
Tipos Estruturados (slides)

11/03/2020
4
Revisão no LabGrad!
16/03/2020 5
Matrizes (slides)
Tipos Abstratos de Dados (slides)
18/03/2020 6
Aula de laboratório
Enunciado exercício
matriz.h, progmat.c
23/03/2020 7
tad lista com vetores (slides)
tad lista encadeada com sentinela (slides)

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

25/03/2020
8
Aula de laboratório:
- enunciado exercicio
- lista.h e proglista.c

30/03/2020 9
- tad lista encadeada sem sentinela (slides)
- outras implementações de listas (slides)

01/04/2020 10
Aula de LAB Listas Duplamente Encadeadas

listadpl.h
06/04/2020
11
Tad Pilha (slides)

Exercícios pilhas duplas:
- pilhas duplas
08/04/2020 12
Aula de laboratório
Implementar o tad pilha e enviar para o email
- TadPilha:  pilha.h
- Programa testador: progpilha.c
13/04/2020 13
Tad Fila
15/04/2020 14
Aula de laboratório (pilha e fila):
- Enunciado
- pilha.h
- fila.h e progfila.c

27/04/2020 15
Revisão de Prova
29/04/2020 16
Primeira Prova Parcial (no labgrad)
04/05/2020
17
- Revisão da prova
- recursão (slides)
06/05/2020
18
- tad árvore (slides)
- exercícios árvore
11/05/2020 19
- tad árvore binária (cont.)
13/05/2020 20
Aula de laboratório
- enunciado
- arvore.h
- prog_arv.c
18/05/2020 21
- Busca em Vetor e Árvore Binária de Busca
20/05/2020 22
Aula de Laboratório de ABB

- Enunciado segundo trabalho (pdf)
- Código de Huffman
- Tad Bitmap
25/05/2020 23
Introdução à Análise de Desempenho de Algoritmos
27/05/2020 24
LabGrad (testando o desempenho de algoritmos - prática)
01/06/2020
25
- Estruturas genéricas (slides)
03/06/2020
26
Aula de Laboratório de Estruturas Genéricas
08/06/2020 27
Árvore com número variável de filhos (slides)
10/06/2020 28
LabGrad - Árvore com número variável de filhos
15/06/2020  29
Tabela Hash
17/06/2020
30
Laboratório Tabela Hash
22/06/2020 31
Dúvidas trabalho
24/06/2020 32
Aula extra:  Laboratório de árvore de expressões
- enunciado
- arv_exp.h
- progarv_exp.c
29/06/2020 33
Revisão para Prova
01/07/2020 34
Segunda Prova Parcial  (no labgrad)
06/07/2020
08/07/2020

Entrega de trabalhos e entrevistas
15/07/2020
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