Menu:

Estruturas de Dados


Horário: terças e quintas de 7:00 às 9:00

Local: Sala 217

Sala de aula virtual da disciplina: usaremos o Google Classroom para as discussões e avisos. A sala de aula no Google Classroom será usada também para divulgar avisos gerais e para dúvidas.

Monitoria

Monitor: a ser definido

Horários de atendimento: a ser definido

Ementa

Avaliação

A avaliação da disciplina é composta de duas provas (P1 e P2) e de um conjunto de trabalhos de implementação (T). A média será calculada da seguinte forma:

P1 = Prova sem consulta

P2 = Prova sem consulta

T = Média das notas dos trabalhos de implementação – todos com correção via RunCodes

Média = ((P1 * 2) + (P2 * 2) + T ) / 5

APROVADO:
Média >= 6

VERIFICAÇÃO SUPLEMENTAR:
4 <= Média < 6

Será aprovado na VS o aluno que tirar nota maior ou igual a 6.

REPROVADO: caso contrário

Trabalhos de Implementação

Haverá um conjunto de implementações a serem entregues via RunCodes. As entregas possuem data marcada e entregas atrasadas não serão aceitas. Esse item compõe a média final da disciplina, e a nota desse item será calculada pela média aritmética dos trabalhos passados ao longo do semestre. Exercícios marcados como [TREINO] no RunCodes não contam para compor a média. Apenas exercícios marcados como [AVALIAÇÃO] no RunCodes contam para compor a média desse item.

Listas de Exercícios

As listas de exercícios abaixo são sugeridas para auxiliar no estudo e fixação da matéria.

Video-aulas no Youtube

As aulas da disciplina estão disponíveis no Youtube. Acesse a playlist no meu canal.

Bibliografia

Ferraz, I. N. Programação com Arquivos. Editora Manole Ltda. Barueri, 2003.

Szwarcfiter, J., Markenzon, L. Estruturas de Dados e Seus Algoritmos. Editora LTC, 3a. edição, 2010.

Cormen, T.H., Leiserson, C.E., Rivest, R.L., Introduction to algorithms, McGraw-Hill, 2009.

Celes, W., Cerqueira, R., Rangel, J.L. Introdução a Estruturas de Dados, Campus, 1a Edição, 2004.

Kernighan, B.W.,Ritchie, D.M. C: a linguagem de programação (Padrão ANSI), Campus, Segunda Edição, 1990.

Bibliografia Complementar

Tenenbaum, A.M., Langsam, Y., Augenstein, M.J. Estruturas de Dados Usando C, Pearson, Primeira Edição, 1995.

Ramakrishnan, R. Database Management Systems, McGraw Hill, Third Edition, 2003.

Ferramentas

IDE

Para programação em C, recomendo o CLion. É possível solicitar uma licença grátis para estudante no site da Jetbrains.

Compilador C

O CLion exige um compilador externo. Recomendo o GCC.

Visualização de conteúdo de memória

Se você gosta de ver o que está ocorrendo na memória durante a execução do programa, recomendo o Python Tutor. Ele tem visualizadores para Python, C, C++, JavaScript e Ruby. Use o C Tutor para te ajudar a entender o que está ocorrendo na memória durante a execução do seu programa!

Memory Leak

Para ajudar na identificação de memory leak, vocês podem usar as seguintes ferramentas:

AVL

Cronograma

Data Atividade
29/03/2022 Apresentação da Disciplina
31/03/2022 Revisão de C
05/04/2022 Aula no Laboratório
07/04/2022 Árvores e Árvores Binárias
Implementação de Árvore Binária
12/04/2022 Árvores Binárias de Busca
Implementação de Busca e Inserção em Árvore Binária de Busca
14/04/2022 Árvores AVL
19/04/2022 Aula no Laboratório
21/04/2022 FERIADO
26/04/2022 Grafos
28/04/2022 Aula no Laboratório
03/05/2022 Arquivos
Tutorial de Acesso a Arquivos em C
05/05/2022 Ordenação de Arquivos
Insertion Sort em Memória e em Disco para Ordenar Arquivos
10/05/2022 Aula no Laboratório
12/05/2022 Ordenação Externa de Arquivos: Geração de Partições Classificadas
Implementação de Classificação Interna
17/05/2022 Aula CANCELADA por motivos de saúde
19/05/2022 Ordenação Externa de Arquivos: Intercalação de Partições Classificadas
Implementação de Intercalação
24/05/2022 AULA
26/05/2022 PROVA 1
31/05/2022 Aula CANCELADA por motivos de saúde
02/06/2022 Árvore B
Implementação de Busca e Inserção em Árvore B em memória
07/06/2022 Árvore B (continuação)
09/06/2022 Árvore B+
14/06/2022 VISTA DE PROVA + Aula no Laboratório
16/06/2022 FERIADO
21/06/2022 Tabelas Hash. Tratamento de colisão por encadeamento exterior.
Implementação Básica de Tabela Hash em memória (Essa implementação não trata colisões)
Implementação de Tabela Hash em memória com tratamento de colisões por Encadeamento Exterior
23/06/2022 Tratamento de colisão por encadeamento interior
Implementação de Tabela Hash em memória com tratamento de colisões por Encadeamento Interior
28/06/2022 Aula no Laboratório
30/06/2022 Tratamento de colisão por endereçamento aberto
05/07/2022 Aula no Laboratório
07/07/2022 Heap
Implementação em memória
Implementação em disco
12/07/2022 PROVA 2
14/07/2022 SEGUNDA CHAMADA
19/07/2022 VISTA DE PROVA
21/07/2019 VS
26/07/2019 VISTA DE VS