Menu:

Estruturas de Dados


Horário: quartas e sextas de 7:00 às 9:00

Local: Sala 213

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

Monitores: Lucas e Gustavo

Horários e local de atendimento: consulte a página da monitoria

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:
(Presença >= 75%) E (Média >= 6)

VERIFICAÇÃO SUPLEMENTAR:
(Presença >= 75%) E (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.

Presença

De acordo com o Regulamento dos Cursos de Graduação, a presença mínima necessária para aprovação é de 75% das aulas (Art. 96) e não há abono de faltas sem documentação (Art. 103).

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
05/04/2023 Apresentação da Disciplina
07/04/2023 FERIADO
12/04/2023 Revisão de C
14/04/2023 Exercícios no Laboratório
19/04/2023 Árvores e Árvores Binárias
Implementação de Árvore Binária
21/04/2023 FERIADO
26/04/2023 Árvores Binárias de Busca
Implementação de Busca e Inserção em Árvore Binária de Busca
28/04/2023 Aula no Laboratório
03/05/2023 SEM AULA
05/05/2023 Árvores AVL
10/05/2023 Grafos
12/05/2023 Aula no Laboratório
17/05/2023 Arquivos
Tutorial de Acesso a Arquivos em C
Ordenação de Arquivos
Insertion Sort em Memória e em Disco para Ordenar Arquivos
19/05/2023 Aula no Laboratório
24/05/2023 Ordenação Externa de Arquivos: Geração de Partições Classificadas
Implementação de Classificação Interna
26/05/2023 Ordenação Externa de Arquivos: Intercalação de Partições Classificadas
Implementação de Intercalação
31/05/2023 PROVA 1
02/06/2023 Árvore B
Implementação de Busca e Inserção em Árvore B em memória
07/06/2023 Árvore B (continuação)
09/06/2023 FERIADO
14/06/2023 VISTA DE PROVA + Aula no Laboratório
16/06/2023 Árvore B+
21/06/2023 Tabelas Hash.
Implementação Básica de Tabela Hash em memória (Essa implementação não trata colisões)
23/06/2023 Tratamento de colisão por encadeamento exterior
Implementação de Tabela Hash em memória com tratamento de colisões por Encadeamento Exterior
28/06/2023 Aula no Laboratório
30/06/2023 Heap
Implementação em memória
Implementação em disco
05/07/2023 PROVA 2
07/07/2023 SEGUNDA CHAMADA
12/07/2023 VISTA DE PROVA
14/07/2023 VS
19/07/2023 SEM AULA
21/07/2023 VISTA DE VS