Disciplina: ACH2024 - Algoritmos e Estruturas de Dados II -
1º Semestre de 2025

Prof. Dr. Luciano Antonio Digiampietri

Site da disciplina no Sistema Jupiterweb

Calendário preliminar da disciplina

24/02 - Apresentação da Disciplina [pdf]
27/02 - Dia do Curso na Semana de Receção (não haverá aula de ACH2024)

03/03 - Carnaval (não haverá aula)
06/03 - Grafos - Conceitos Básicos [pdf] [v]

Códigos auxiliares (usados em outras aulas) base.h fila.c filaDePrioridade.c filaDePrioridadeAresta.c conjunto.c

10/03 - Grafos - Implementação - Matriz de Adjacências [pdf] [.c] [.c] [v1] [v2]
13/03 - Grafos - Implementação - Matriz de Adjacências (continuação) [pdf] [.c] [.c] [v1] [v2]

17/03 - Grafos - Implementação - Lista de Adjacências [pdf] [.c] [.c] [v1] [v2] [pdf] [.c] [.c] [v3] [v4]
20/03 - Não haverá aula de ACH2024

24/03 - Grafos - Busca em Profundidade e Aplicações [pdf] [.c] [v1] [v2] [pdf] [v3] [v4]
27/03 - Grafos - Busca em Profundidade - Aplicações (cont) [pdf] [.c] [v1] [v2] [v3]

31/03 - Busca em Largura e Filas de Prioridade [pdf] [.c] [.c] [v1] [v2] [pdf] [.c] [v3] [v4]
03/04 - Grafos - Árvore Geradora de Custo Mínimo - Algoritmo de Prim [pdf] [.c] [.c] [v1]
      Atividade Sugerida [pdf]

07/04 - Grafos - Árvore Geradora de Custo Mínimo - Algoritmo de Kruskal [pdf] [.c] [.c] [v1]
10/04 - Grafos - Árvores de Caminhos de Custo Mínimo - Floyd-Warshall e Bellman-Ford [pdf] [.c] [v1] [pdf] [.c] [v2]
      Atividade Sugerida [pdf]

14/04 a 19/04 - Semana Santa (não haverá aulas)

21/04 - Tiradentes (não haverá aula)
24/04 - Grafos - Caminhos de Custo Mínimo - Dijkstra [pdf] [pdf] [.c] [.c] [v1]
      Atividade Sugerida [pdf]

28/04 - Arquivos - Introdução [pdf] [v1] [v2]
01/05 - Dia do Trabalho (não haverá aula)
      Atividade Sugerida [pdf]

05/05 - Arquivos - Exemplos de Códigos [pdf] [.c] [.c] [.c] [.c] [.c] [.c] [.c] [.c] [v1] [v2]
08/05 - Revisão para a Prova
      Atividade Sugerida [pdf]

12/05 - Prova 1 [exemplos de questões para prova]
15/05 - Arquivos - Acesso à Memória Secundária [pdf] [v1] [v2]

18/05 - Data máxima para a entega do EP 1

19/05 - Arquivos - Alocação Sequencial (não ordenada e ordenada) [pdf] [v1] [v2]
22/05 - Arquivos - Alocação Ligada [pdf] e Alocação Indexada [pdf] [v1] [v2] [v3]
      Atividade Sugerida [pdf]

26/05 - Árvores B (parte 1) [pdf] [v1] [v2]
29/05 - Árvores B (parte 2) [pdf] [.c] [v1] [v2]
      Atividade Sugerida [pdf]

02/06 - Árvores B+ e B* [pdf] [v1] [v2]
05/06 - Hashing Estático - Endereçamento Fechado [pdf] [.c] [.c]
      Atividade Sugerida [pdf]

09/06 - Hashing Estático - Endereçamento Aberto [pdf] [.c]
12/06 - Hashing Dinâmico [pdf]
      Atividade Sugerida [pdf]

16/06 - Processamento Cossequencial e Ordenacao Externa - Intercalação Balanceada [pdf]
19/06 - Feriado de Corpus Christi (não haverá aula)

22/06 - Data máxima para a entega do EP 2

23/06 - Ordenacao Externa - Substituição e Polifásica [pdf]
26/06 - Prova 2 [exemplos de questões para prova]

30/06 - Prova Substitutiva
03/07 - Vistas às Provas - esclarecimento de dúvidas sobre as provas e trabalhos realizados (das 20:00h às 22:00h na sala do professor: 110P do A1)

10/07 - Prova de Recuperação às 19h00 na sala T04 do I1


Prazo máximo para a entrega dos EPs (via eDisciplinas):
EP 1 : 18/05/2025
EP 2: 22/06/2025


Critério e Norma de Recuperação
Será aprovado todo aluno cuja MediaFinal≥5 e com presença ≥70%.

Os alunos não aprovados pelo critério anterior e que tiveram MediaFinal≥3 e apresentarem presença≥70% terão direito a fazer a prova de recuperação.

Todo aluno que obtiver NotaRec≥5 será aprovado. Neste caso a nota final (MediaFinalRec) será dada por: MediaFinalRec=max(5;(MediaFinal+NotaRec)/2).

Se NotaRec<5, a nota final será dada por: MediaFinalRec=max(MediaFinal,(MediaFinal+NotaRec)/2).

Qualquer tentativa de fraude nas provas ou exercícios práticos (EPs) implicará em zero na respectiva atividade.

Atendimentos fora do horário de aula:
A disciplina conta com dois monitores, Luan Pinheiro (luanpinheiro@usp.br) e William Maruyama (williammaruyama@usp.br), que estão à disposição para esclarecer dúvidas por e-mail ou combinar outras formas de plantão.
Plantão de dúvidas: quintas-feiras das 16h30 às 17h30 na sala 110P do A1 (exceto em feriados e dias de prova).

Nos sete dias anteriores às datas de entregas de EPs não serão esclarecidas dúvidas sobre os EPs. No dia da prova, não serão esclarecidas dúvidas sobre o conteúdo da matéria.

Livros textos, segundo a ementa:
  - AHO, A. V.; HOPCROFT, J. E.; ULLMAN, J. D. Data Structure and Algorithms. Readings, Addison Wesley, 1983.
  - HOROWITZ, E.; SAHNI, S. Fundamentals of Data Structures in Pascal, Computer Science Press, 1990.
  - TENEMBAUM, A. M. et al. Data Structures Using C, Prentice-Hall, 1990.
  - SZWARCFITER, J. L. Grafos e Algoritmos Computacionais. Editora Campus, 1983.
  - CORMEN, H. T.; LEISERSON, C.E.; RIVEST, R.L. Introduction to Algorithms, MIT Press, McGraw-Hill, 1999.

Site para a entrega dos trabalhos (entrega de EPs): eDisciplinas.


Conteúdos Extras / Links interessantes

Playlist Algoritmos e Estruturas de Dados II: [playlist]

Python Tutor - ferramenta para visualização (gráfica) do uso de memória durante a execução dos seus programas (em diferentes linguagens de programação, incluindo C, Java e Python)

Tutorial para instalação do GCC no Windows

Exemplos de compiladores online:
OnlineGDB
Programiz
Replit