///



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

Professora: Patrícia Dockhorn Costa

Carga horária semestral total: 60 horas

Horários:
terças e quintas das 7:00 às 9:00 hrs.

Local:
Sala 207, CT9

Comunicados:

  • Atenção! Resultados Finais online!!! Revisão de prova final por email ou na sala da professora, terça (dia 09/01) das 9:00 às 11:00.
  • Atenção! Resultados Parciais online!!! Dúvidas sobre provas ou trabalhos, favor enviar email.
  • Resultados Segunda Prova de ED. Revisão de prova na sala da Professora, quinta das 7 às 9 hrs (ou pelo email).
  • Enunciado do segundo trabalho, com datas atualizadas.
  • Resultados do Primeiro Trabalho de ED. Para saber mais sobre a correção, envie um email para edufes20172@gmail.com
  • Resultados da Primeira Prova de ED
  • Casos de teste atualizados (pequena correção na saída)
  • Errata! Na especificação, na frase: "Em caso de ocorrência das funções mosquito_bota() e agente_atua() ao “mesmo tempo” em uma casa (quando uma movimentação de mosquito chama ambas as funções), a função mosquito_bota() deve ser executada antes de agente_atua()." Deve-se ler:  "Em caso de ocorrência das funções mosquito_bota() e agente_atua() ao “mesmo tempo” em uma casa (quando uma movimentação de mosquito chama ambas as funções), a função agente_atua() deve ser executada antes da mosquito_bota()."
  • Casos de teste para o trabalho!
  • Atenção!!! 20/10/2017: esclarecimentos sobre o primeiro trabalho (em vermelho)
  • 05/10/2017: enunciado primeiro trabalho online!
  • Primeira aula: 24/07/2017


      



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
24/08/2017 1
Primeira Aula -  Introdução (slides)

29/08/2017 2
Estruturas Estáticas (slides)

31/08/2017 3
Uso da memória e ponteiros (slides)
Exercícios ponteiros (pdf)

05/09/2017 4
Aula de laboratório (enunciado)

12/09/2017 5
Matrizes (slides)

14/09/2017 6
Caracteres (slides)
Tipos Estruturados (slides)

19/09/2017 7
Tipos Abstratos de Dados (slides)

21/09/2017 8
Aula de laboratório
Enunciado exercício
matriz.h, progmat.c

26/09/2017 9
tad lista com vetores (slides)
tad lista encadeada com sentinela (slides)

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


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


03/10/2017 11
Aula de laboratório:
- enunciado exercicio
- lista.h e proglista.c

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

05/10/2017 12
Tad Pilha (slides)

Exercícios pilhas duplas:
- pilhas duplas

Especificação primeiro trabalho!


10/10/2017 13
Aula de laboratório
Implementar o tad pilha e enviar para o email
estruturasdedadosufes@gmail.com.
- TadPilha:  pilha.h
- Programa testador: progpilha.c


17/10/2017
14
- Aula extra de laboratório!
- Tirar dúvidas dos labs e trabalho

19/10/2017 15
Tad Fila

24/10/2017 16
Aula de laboratório (pilha e fila)
- Enunciado
- fila.h e progfila.c

26/10/2017 17
revisão prova (labgrad)

31/10/2017
18
Primeira Prova Parcial (no labgrad)

07/11/2017 19
- Revisão da prova
- recursão (slides)

09/11/2017 20
- tad árvore (slides)
- exercícios árvore

14/11/2017 21
Aula de laboratório
- enunciado
- arvore.h
- prog_arv.c


16/11/2017 22
- Aula de laboratório (árvore de expressões)
- enunciado
- arv_exp.h
- progarv_exp.c


Enunciado segundo trabalho (pdf)

- Código de Huffman
- Tad Bitmap


21/11/2017 23
Estruturas genéricas (slides)

23/11/2017 24
Aula de laboratório de estruturas genéricas
-enunciado

28/11/2017 25
- tad árvore com número variável de filhos (slides)
- exercícios (nos slides)

30/11/2017 26
- Busca (slides puc-rio)

05/12/2017 26
- tabela hash (slides puc-rio)

07/12/2017 27
Aula de laboratório (tabela hash)

12/12/2017 28
Dúvidas trabalho (no labgrad2)

14/12/2017 29
Aula de laboratório (abb)
- Arvore Binária de Busca (slides puc-rio)

19/12/2017 30
Revisão para prova (no laboratório)
21/12/2017 31
Segunda Prova Parcial
28/12/2017
resultados online
04/01/2018 32
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