///



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

Professora: Patrícia Dockhorn Costa

Carga horária semestral total: 60 horas

Horários:

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

(turma EC e EE) quartas e sextas: 13:00 às 15:00


Local: Sala 208, CT9

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

14/03/2018 3
Aula de laboratório (enunciado)
16/03/2018 19/03/2018
4
Matrizes (slides)
21/03/2018 5
Caracteres (slides)
Tipos Estruturados (slides)
23/03/2018
26/03/2018
6

Tipos Abstratos de Dados (slides)
28/03/2018 7
Aula de laboratório
Enunciado exercício
matriz.h, progmat.c
02/04/2018 (cc)
8
tad lista com vetores (slides)
tad lista encadeada com sentinela (slides)

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

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

04/04/2018 (ec) 8
tad lista com vetores (slides)
tad lista encadeada com sentinela (slides)

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

06/04/2018 (ec)

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

11/04/2018 10
Aula de laboratório:
- enunciado exercicio
- lista.h e proglista.c
13/04/2018
16/04/2018
11
Tad Pilha (slides)

Exercícios pilhas duplas:
- pilhas duplas

18/04/2018 12
Aula de laboratório
Implementar o tad pilha e enviar para o email
- TadPilha:  pilha.h
- Programa testador: progpilha.c

Enunciado Primeiro Trabalho!
20/04/2018
23/04/2018
13
Tad Fila
25/04/2018
14
Aula de laboratório (pilha e fila)
- Enunciado
- pilha.h
- fila.h e progfila.c
27/04/2018
30/04/2018
15
aula extra de lista

02/05/2018 16
revisão prova (labgrad)

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

04/05/2018
07/05/2018
17
exercícios em sala de aula (ou ajuda no labgrad2)

09/05/2018
18
Primeira Prova Parcial (no labgrad)

11/05/2018
14/05/2018
19
- Revisão da prova
- recursão (slides)

16/05/2018 20
- tad árvore (slides)
- exercícios árvore

18/05/2018
21/05/2018

21
- tad arvores (cont.)

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


- lab de árvore de expressões (para casa)
- enunciado
- arv_exp.h
- progarv_exp.c


23/05/2018 22
Aula de laboratório
- enunciado
- arvore.h
- prog_arv.c


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

25/05/2018
28/05/2018
23
- Árvore Binária de Busca
30/05/2018 24
- Estruturas genéricas (slides)

06/06/2018 25
Aula de laboratório de estruturas genéricas
-enunciado
08/06/2018
11/06/2018
26
- Busca (slides puc-rio)

13/06/2018 27
Aula de laboratório (abb)
- Arvore Binária de Busca (slides puc-rio)
15/06/2018
18/06/2018
28
Dúvidas sobre trabalho!
20/06/2018 (13:00 às 15:00)
29
Tabela Hash (sala de aula)
20/06/2018 (15:00 às 17:00)
29
Aula de Laboratório de Tabela Hash (enunciado)
22/06/2018
30
revisão para prova e dúvidas trabalho
25/06/2018 30
aulas de dúvidas sobre trabalho
27/06/2018
31
Aula cancelada (jogo do Brasil)
29/06/2018 31
Aula de Laboratório de Tabela Hash (enunciado)
02/07/2018
31
Revisão para prova
04/07/2018 32
Segunda Prova Parcial  (no labgrad)


resultados online
11/07/2018 33
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