Home Courses Publications Research Students Contact

Cristina Nader Vasconcelos

Associate Professor

Universidade Federal Fluminense

TCC-00.171 - ESTRUTURAS DE DADOS I

Turma B-1, terças e quintas 18/20h

A disciplina possui um grupo no Facebook para avisos e troca de experiências. Cadastrem-se .

OBJETIVOS DA DISCIPLINA/ATIVIDADE:
Introduzir conceitos de abstração de dados com a construção e a utilização de tipos abstratos de dados: pilhas, filas, listas, árvores e grafos.

DESCRIÇÃO DA EMENTA:

Cursos de Estruturas de Dados online:

BIBLIOGRAFIA BÁSICA:

  • [ref1] Waldemar Celes, Renato Cerqueira, José Lucas Rangel
    Introdução a estrutura de dados
    Editora Campus
  • [ref2] Jayme Luiz Szwarcfiter e Lilian Markenzon
    Estruturas de Dados e Seus Algoritmos -
    LTC
  • [ref3] Ana Fernanda Gomes Ascencio, Gaziela Santos de Araujo
    Estrutura de dados
    PEARSON
  • [ref4] Cormen, T. H., Leiserson C. E., Rivest, R. L., Stein, C.
    Algoritmos – Teoria e Prática
    Editora Campus. 2ª Edição Americana.
  • [ref5] Koffman E. B. & Maxim B. R.
    Software Design & Data Strutures
    Addison Wesley.
  • Datas de provas:

    Prova 1: 07/04/2015 (revisão - 05/05/2015 )
    Prova 2: 21/05/2015 (revisão - 16/06/2015 )
    Prova 3: 25/06/2015 (revisão - 02/07/2015 )
    Prova Final (VS): 02/07/2015 (revisão - 16/07/2015 )
    Prova de reposição: 09/07/2015 (revisão - 16/07/2015 )

    Calendário Escolar (calendário prograd):

    Agenda (tentativa):

      Data

      Conteúdo

      Tarefas, exercícios

    1. March-10-2015
    2. - Apresentação da disciplina
      - Introdução
      - Conceitos básicos de programação

      [ref1] Capítulos 1 e 2

    3. March-12-2015
    4. - Introdução à linguagem C: tipos e variáveis;
      - Operadores: aritméticos, de incremento, de decremento, relacionais e lógicos.
      - Precedência de operadores;
      - Entrada e saída básicas (scanf e printf);
      - Decisões com if;
      - Repetições com while, for e do-while;
      - break;
      - Seleção com switch-case-default;

      [ref1] Capítulo 3

    5. March-17-2015
    6. - Funções;
      - Pilha de execução;
      - Ponteiros

      [ref1] Capítulo 4
      exercícios

    7. March-19-2015
    8. - Declaração de vetores;
      - Passagem de vetor como parâmetro de entrada de funções;
      - Alocação dinâmica de vetores;
      - Aritmética de ponteiros;

      [ref1] capítulo 5

    9. March-24-2015
    10. - Vetores locais;
      - Declaração de matrizes;
      - Passagem de matriz como parâmetro de entrada de funções;
      - Alocação dinâmica de matrizes;
      - cadeia de caracteres (strings)

      [ref1] capítulo 5, 6 e 7

    11. March-26-2015
    12. - Tipo estrutura;
      - Variáveis do tipo estrutura e do tipo ponteiro para estrutura;

      [ref1] capítulo 8

    13. March-31-2015
    14. Aula de exercícios e revisão

      April-02-2015

      Quinta-feira Santa

    15. April-07-2015
    16. Primeira Prova

    17. April-09-2015
    18. Motivação para o uso de listas; Definição de listas; e Operações básicas: (a) inicialização, (b) inserção de um elemento no início da lista e (c) inserção de um elemento no fim da lista (versões iterativa e recursiva).

      April-14-2015

      NÃO HAVERÁ AULA - PROFA. EM VIAGEM PARA APRESENTAÇÃO DE ARTIGO

      April-16-2015

      April-21-2015

      Tiradentes

      April-23-2015

      São Jorge

    19. April-28-2015
    20. Mais operações básicas (versões iterativa e recursiva): (a) inserção ordenada de um elemento na lista, (b) impressão da lista, (c) liberação da lista, (d) busca de um elemento, (e) inserção de um elemento na lista ordenada e (f) remoção de um elemento da lista; Exemplo de aplicação: retirar todas as ocorrências de um elemento, exceto a primeira; e íícios.

    21. April-30-2015
    22. - Exemplos iterativos desenvolvidos em aula, usando arquivos lista.h e lista.c: remoção de todos os elementos repetidos e inserção de antecessores de um elemento passado como parâmetro de entrada;
      - Exemplo recursivo: merge de duas listas ordenadas.

    23. May-05-2015
    24. Aula de exercícios e revisão da primeira prova

    25. May-07-2015
    26. Motivação para o uso de listas duplamente encadeadas; Definição de listas duplamente encadeadas; Operações básicas: (a) inicialização, (b) impressão reversa da lista, (c) inserção de um elemento na lista e (d) remoção de um elemento; e Exemplo iterativo desenvolvido em aula: inserção de antecessores de um elemento passado como parâmetro de entrada.

    27. May-12-2015
    28. Motivação para o uso de listas circulares; Definição de listas circulares; Operações básicas: (a) inicialização, (b) busca de um elemento, (c) impressão da lista, (d) liberação da lista e (e) inserção mais barata de um elemento na lista;

    29. May-14-2015
    30. Aula de exercicios

    31. May-19-2015
    32. Aula de Revisão

    33. May-21-2015
    34. Segunda prova

    35. May-26-2015
    36. Motivação para o uso de pilhas; Exemplos de uso: impressão de uma pilha e cópia de uma pilha. Implementação de pilhas com vetores e listas; e Operações básicas: (a) inicialização, (b) retirada de um elemento do topo da pilha - a operação pop, (c) inserção de um elemento no topo da pilha - a operação push, (d) teste se a pilha está vazia e (e) liberação da lista.
      Motivação para o uso de filas; Implementação de fila com vetores e listas; Operações básicas: (a) inicialização e destruição da fila, (b) inserção de um elemento no fim da fila, (c) retirada do início da fila, e (d) teste se a fila está vazia; Exemplo de aplicação: cópia de uma fila;

    37. May-28-2015
    38. Aula de exercícios

    39. June-02-2015
    40. Motivação para o uso de árvores; Implementação de árvores binárias; Operações básicas: (a) inicialização, (b) impressão e (c) liberação de árvores binárias; Outras funções: cálculo da altura e teste de igualdade de duas árvoes; Motivação para o uso de árvores binárias de busca; Implementação de árvores binárias de busca; Operações básicas: busca e inserção de um elemento; e Exemplo desenvolvido em sala de aula: gerar uma árvore binária a partir de um vetor ordenado.

      Capítulo 13

    41. June-04-2015
    42. CORPUS CHRIST

    43. June-09-2015
    44. Algoritmos de ordenação: bolha, insertsort, mergesort e quicksort (juntamente com o procedimento qsort existente na biblioteca stdlib.h).
      Exercícios

      Capítulo 16

    45. June-11-2015
    46. Algoritmos de busca. Árvores binárias de busca.

      Capítulo 17

    47. June-16-2015
    48. Aula de exercícios e revisão da segunda prova

    49. June-18-2015
    50. Aula de exercícios

    51. June-23-2015
    52. June-25-2015
    53. - Terceira Prova

    54. June-30-2015
    55. - Divulgação dos alunos em prova final (e aqueles com direito a fazer a final como reposição)

    56. July-02-2015
    57. - Revisão da Terceira Prova (17:30h)
      - Prova Final (18h)

    58. July-07-2015
    59. July-09-2015
    60. - Prova de Reposição

    61. July-14-2015
    62. July-16-2015
    63. - Revisão da Prova Final
      - Revisão da Prova de Reposição
      (FIM DO PERÍODO LETIVO)


      Instituto de Computação | Rua Passo da Pátria 156 - E Block - 3th floor - São Domingos Niterói - RJ - CEP: 24210-240 | Phone: +55 21 2629-5659
      lip:
      ip:216.73.216.60