///



 
Profa Patrícia Dockhorn Costa
Ensino Estruturas de Dados I (INF09292) - 2018/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 2018.

Professora: Patrícia Dockhorn Costa

Carga horária semestral total: 60 horas

Horários:

(turma CC) terças e quintas: 15:00 às 17:00

(turma EC) terças: 10:00 às 12:00 e quintas: 09:00 às 11:00


Local: a definir

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
02/08/2018 1
Primeira Aula -  Introdução (slides)
Estruturas Estáticas (slides)
07/08/2018
2
Uso da memória e ponteiros (slides)
Exercícios ponteiros (pdf)

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

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

30/08/2018
9
Aula de laboratório:
- enunciado exercicio
- lista.h e proglista.c

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


Enunciado Primeiro Trabalho!
11/09/2018
11
Tad Pilha (slides)

Exercícios pilhas duplas:
- pilhas duplas

13/09/2018 12
Aula de laboratório
Implementar o tad pilha e enviar para o email
- TadPilha:  pilha.h
- Programa testador: progpilha.c
18/09/2018
13
Tad Fila
20/09/2018
14
Aula de laboratório (pilha e fila)
- Enunciado
- pilha.h
- fila.h e progfila.c
25/09/2018
15
aula extra de listas

27/09/2018 16
revisão prova (labgrad)

Aula extra de laboratório:
- Enunciado
- listahet.h, proglistahet.c

02/10/2018
17
exercícios em sala de aula (ou ajuda no labgrad2)

04/10/2018
18
Primeira Prova Parcial (no labgrad)
09/10/2018
19
- Revisão da prova
- recursão (slides)
11/10/2018 20
- tad árvore (slides)
- exercícios árvore
16/10/2018
21
- tad arvores (cont.)

- tad árvore com número variável de filhos (slides)
- exercícios (nos slides)

18/10/2018 22
Aula de laboratório
- enunciado
- arvore.h
- prog_arv.c


23/10/2018
23
- Busca em Vetor e Árvore Binária de Busca
25/10/2018
24
Aula de laboratório de ABB

Enunciado segundo trabalho (pdf)

- Código de Huffman
- Tad Bitmap
30/10/2018 25
- Estruturas genéricas (slides)
01/11/2018 26
Aula de exercícios de estruturas genéricas (sala de aula)
-enunciado
06/11/2018
27
- Tabela Hash (sala de aula)
08/11/2018 28
Aula de Laboratório de Tabela Hash (enunciado)
13/11/2018
29
Árvore com número variável de filhos (slides)
20/11/2018
30
Aula de Laboratório de Estruturas Genéricas

Manhã (LabGrad 2) e Tarde (LabGrad 1)
22/11/2018
31
Laboratório de árvore de expressões

- enunciado
- arv_exp.h
- progarv_exp.c

27/11/2018
32
Revisão prova e dúvidas trabalho

Manhã (LabGrad 2) e Tarde (LabGrad 1)
29/11/2018 33
Segunda Prova Parcial  (no labgrad)


resultados online
13/12/2018 34
Prova Final

Resultados de avaliação:


Material bibliográfico:

  • Celes, Cerqueira e Rangel. Introdução a Estruturas de Dado, 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