Estrutura de Dados I (TCC00171)

Instituto de Computação, Universidade Federal Fluminense.

Campus Praia Vermelha, Niterói.

Slides

  • Linguagem C: Conceitos básicos

    variáveis; loops; if/then; funções

    Download: slides

  • Linguagem C: Ponteiros e alocação dinâmica

    operadores *, & e ->; paso de valores a funções por referencia; malloc() e free()

    Download: slides

  • Linguagem C: Listas

    ponteiros; listas encadeadas

    Download: slides

  • Tipos Abstratos de Dados (TADs)

    Download: slides

  • Pilhas

    Download: slides

  • Filas

    Download: slides

  • Ordenação

    Download: slides

  • Árvores Binárias

    Download: slides

  • Árvores AVL

    Download: slides

Trabalho prático

  • O código fonte produzido deve ser entregue por e-mail na data estipulada no cronograma da disciplina.
  • O código fonte deve estar suficientemente comentado a fim de permitir a compreensão do mesmo.
  • Não serão aceitos trabalhos fora do prazo, mesmo que seja por questão de minutos.
  • Se for observada cópia de trabalho ou adaptações de códigos entregues por mais de um aluno então todos os envolvidos serão penalizados.
  • Cada aluno só pode submeter uma única versão.
  • Proibido de usar frameworks, micro-frameworks ou métodos nativos da linguagem que já resolva o problema proposto.
  • Os e-mails precisam ser enviados com o texto “TCC00171” no assunto.

Entrega dos trabalhos:

  1. Os trabalhos podem ser entregues por email até o 20 de março de 2016 às 23:00.
  2. Deveram ser enviados como anexo ao email os arquivos C (.c e/ou .h).

Avaliação

As notas finais serão calculadas de acordo com o seguinte procedimento:

Sejam:

  • $p_1$ e $p_2$: notas da prova um e dois;
  • $t$: nota trabalho prático;
  • $vs$: nota na verificação suplementar;
  • $m$ : média nas probas, e
  • $m_f$ média final.

$$m=\frac{p_1 + p_2  + t}{3},$$

Se $4 \leq m \leq 6$ então:

$$m_f = vs.$$

se não:

$$m_f =m.$$

Cronograma

  • 22 de fevereiro de 2016: Prova I.
  • 15 de março 2016: Prova II.
  • 20 de março 2016 23:59h: Submissão dos trabalhos práticos
  • 22 de março 2016: Verificação suplementar.

Bibliografia Recomendada

  • T.H. Cormen, C.E. Leiserson e R.L. Rivest, Introduction to algorithms, McGraw-Hill.
  • J. Szwarcfiter e L. Markeson, Estrutura de Dados e Algoritmos, Editora LTC.
  • W. Celes, R. Cerqueira e J.L. Rangel, Introdução a Estruturas de Dados, Campus.
  • B.W. Kernighan e D.M. Ritchie, C: A linguagem de programação (Padrão ANSI), Editora Campus.
  • Marcos Laureano (2008) Estruturas de Dados em C. Brasport, Rio de Janeiro. online pdf
  • J. M. Molina, F. Chamorro, A. Ledezma, J. Carbó, L. Martí, Ó. Pérez, and J. García, Programación en Lenguajes Estructurados (Grado Superior), Madrid: McGraw–Hill, 2006. link

Material adicional

  • Cristina Boeres (UFF) Links interessantes sobre Estrutura de Dados link
  • Fundação CECIERJ/Consórcio CEDERJ Videoaulas link
  • Comparativa visual dos algoritmos de ordenação link

Dúvidas e Perguntas

Os alunos com dúvidas podem agendar data e hora para se encontrar com o professor usando o seguinte formulario.