Estrutura de Dados II - 2023-2
UnB-\(\gamma\)

Table of Contents

Table of Contents

1. Material Didático

Nesta seção deixo disponibilizado a construção da futura "apostila" de EDA-2:

🆕♨️Apostila com o conteúdo geral, inclusive desta disciplina, em construção permanente: Apostila de Estrutura de Dados

2. Cronograma de Aulas

2.1. Aula 1   25_mar

  • Introdução
    • Objetivos da disciplina
    • Método de avaliação
    • conceitos gerais
  • Grupo de alunos da disciplina (com os monitores) - https://t.me/+O97HKK8OqdswNzIx

2.2. Aula 2   27_mar

  • BUSCA: Tabela de Símbolos e BST

2.3. Aula 3   01_abr

  • BUSCA: Tabela de Símbolos e BST

2.4. Aula 4   03_abr

  • Árvore 2-3
  • Árvore Red-Black

2.5. Aula 5   08_abr

  • Árvore Red-Black

2.6. Aula 6   10_abr

  • Skip List

2.7. Aula 7   15_abr

  • Tabela Hash

2.8. Aula 8   17_abr

  • Tabela Hash

2.9. Aula 9   22_abr

  • Estudo empírico dos métodos de busca
  • Quando escolher cada um dos métodos

2.10. Aula 10   24_abr

  • Árvore de Intervalos

2.11. Aula 11   29_abr prova

  • Prova 1

2.12. Aula 12   01_mai feriado

2.13. Aula 13   06_mai

  • Grafos - Introdução
    • Representações; variações, extensões e custos
    • Tipos de problemas para grafos

2.14. Aula 14   08_mai

  • Busca em Grafos
    • BFS e DFS
    • busca generalizada
    • análise dos algoritmos

2.15. Aula 15   13_mai

  • Busca em Grafos

2.16. Aula 16   15_mai

  • Grafos Dirigidos
    • alcançabilidade e fecho transitivo
    • Equivalência e ordem parcial

2.17. Aula 17   20_mai

  • DAG
    • Ordenação topológica
    • Alcançabilidade
    • Componentes fortemente conexas
    • Fecho transitivo

2.18. Aula 18   22_mai

  • Árvores Geradoras Mínimas
    • PRIM
    • Kruskal
    • Boruvka

2.19. Aula 19   27_mai

  • Árvores Geradoras Mínimas

2.20. Aula 20   29_mai

  • Caminhos mínimos de fonte única
    • Dijkstra

2.21. Aula 21   03_jun prova

  • Prova 2

2.22. Aula 22   05_jun

  • Caminhos mínimos de fonte única
    • Pesos negativos
    • Bellman-Ford

2.23. Aula 23   10_jun

  • Caminhos mínimos de fonte única

2.24. Aula 24   12_jun

  • Fluxo máximo

2.25. Aula 25   17_jun

  • Fluxo máximo
  • Divulgação do enunciado do trabalho

2.26. Aula 26   19_jun feriado

2.27. Aula 27   24_jun

  • Fluxo máximo

2.28. Aula 28   26_jun

  • Busca externa
    • B-tree

2.29. Aula 29   01_jul

  • Busca externa

2.30. Aula 30   03_jul

  • Dúvidas do trabalho

2.31. Aula 31   08_jul prova

  • Prova 3

2.32. Aula 32   10_jul

  • Tempo para implementação do trabalho

2.33. Aula 33   15_jul

  • Tempo para a implementação do trabalho

2.34. Aula 34   17_jul

  • Prova repositiva
  • Prazo final de entrega do trabalho, até às 16h00

2.35. Aula 35   22_jul

  • Defesa dos trabalhos de acordo com os critérios definidos no plano de aula

2.36. Aula 36   24_jul

  • Continuação da defesa dos trabalhos
  • Finalização da disciplina

3. Antes de Começar

Nesta disciplina é esperado que o aluno tenha conhecimento básico da linguagem C tais como:

  • Ponteiros
  • Strings
  • Leitura da Entrada padrão

As subseções abaixo elencam alguns vídeos que recaptulam o conhecimento necessário.

3.1. Material no Youtube

Vídeos com material relacionado ao conteúdo esperado para uso na disciplina.

Tenho disponibilizado vários materiais em meu canal no YouTube, por favor, considere assinar o canal e deixar o joinha :)

3.1.1. Revisão de Ponteiros

Segue abaixo a playlist da revisão de ponteiros no Youtube. Por ora são 5 vídeos que exploram o que é necessário saber para a disciplina de EDA-2.

3.1.2. Strings em C

Aqui um apanhando geral em como se manipula strings na linguagem C. Em uma série que chamei de "Umas Palavras sobre String"

3.1.3. SCANF

O SCANF é uma poderosa função capaz de ler dados da entrada padrão (e de outros arquivos com suas aliases como fscanf(3).

Na série Detonando o SCANF temos, além do uso básico da função abordo algumas curiosidades sobre as funções.

4. Plano de Ensino

O PLANO de ensino COMPLETO está disponível AQUI

O plano de ensino e plano de aulas é um PLANO e pode sofrer modificações ao longo do semestre de acordo com o rendimento da turma.

4.1. Método

Aula expositiva por meio de aula síncronas em Sala de Aula, quadro branco e projetor, lista de exercícios e, material de apoio disponibilizado no Youtube (gravados ou em live stream).

Os slides das aulas; materiais, e; trabalhos estarão disponíveis na página https://www.brunoribas.com.br/eda2/2025-1/ . Os demais materiais estarão disponíveis no SIGAA.

Toda a comunicação será dada em SALA de AULA e noticiada no SIGAA como uma notícia da disciplina.

4.2. Critérios de Avaliação

  • As notas serão atribuídas como um número inteiro no intervalo \([0,100]\).
  • A avaliação será composta por três provas presenciais e um trabalho:
    • As provas serão realizadas presencialmente na FCTE.
    • O trabalho será entregue por meio do sistema MOJ.
  • As avaliações podem conter questões teóricas e/ou práticas, a critério do professor.
  • Qualquer tentativa de fraude resultará em média ZERO no semestre para todos os envolvidos, acarretando menção SR.

4.2.1. Provas

Serão aplicadas 3 (três) provas escritas individuais, cujas datas constam no cronograma. Se necessário, essas datas poderão ser alteradas, com aviso prévio mínimo de uma semana por meio do SIGAA.

  • Cada prova conterá uma ou mais questões.
  • Uma questão será considerada correta somente se o resultado final e seu respectivo desenvolvimento estiverem adequadamente descritos pelo aluno.
    • Respostas com erros no resultado final, desenvolvimento incorreto ou incompleto, ou sem desenvolvimento receberão nota zero.
  • As provas abrangerão todo o conteúdo lecionado desde o início do semestre até a aula anterior à sua aplicação.
  • O horário oficial das provas começará às 14h00:
    • Após a saída do primeiro estudante ou depois das 14h15, nenhum aluno poderá ingressar na sala de prova.
  • As provas \(P_1\), \(P_2\) e \(P_3\) terão pontuação máxima de \(30, 30\) e \(30\) pontos, respectivamente.
    • Questões extras podem ser incluídas, mas a nota máxima de cada prova permanecerá inalterada.
  • Durante as provas:
    • Não será permitido o uso de materiais impressos, eletrônicos (celulares, calculadoras, smartwatches etc.) ou comunicação com colegas.
    • Qualquer infração resultará em nota zero no semestre.

No final do semestre será aplicada uma prova repositiva, individual, caso o aluno apresente um atestado de saúde em até 5 (cinco) dias após a realização da prova, ou em outros casos previstos em lei (alistamento militar, etc). A prova repositiva corresponderá à avaliação perdida pelo aluno e abrangerá todo o conteúdo do curso.

4.2.2. Trabalho

O trabalho terá sua data de entrega definida no cronograma. Alterações de prazo poderão ocorrer, se necessário.

  • O enunciado será disponibilizado no sistema MOJ, e a entrega deve ser feita por esse sistema, em arquivo único.
  • O trabalho terá pontuação máxima de \(10\) pontos.
  • Poderá ser realizado individualmente ou em dupla.
  • Caso a nota do trabalho seja determinante para a aprovação do aluno, este deverá apresentá-lo ao professor.
    • A apresentação será em caráter de defesa podendo ser solicitado modificações no trabalho ou reimplementação de trechos do código.
  • Se o estudante utilizar modelos de linguagem treinados (LLMs) para gerar parte do trabalho, incluindo código ou texto, essa utilização deve ser declarada explicitamente.
    • O não cumprimento dessa exigência pode ser interpretado como tentativa de fraude.

4.2.3. Atividades Extras

Poderão ser atribuídas atividades extras opcionais, definidas pelo professor. Informações sobre forma de entrega, data e critérios de avaliação serão divulgadas pelo SIGAA. A pontuação dessas atividades será somada à nota final.

4.2.4. Presença

A presença será registrada por meio de lista de assinaturas ou chamada oral conduzida pelo professor.

4.2.5. Menção Final

A nota final será calculada pela seguinte equação:

\begin{align} M_F = P_1 + P_2 + P_3 + T \end{align}

4.2.6. Critérios de aprovação

Obterá aprovação no curso o aluno que cumprir todas as exigências listadas abaixo:

  1. \(M_F >= 50\); e
  2. Presença em \(75\%\) ou mais das aulas.

Por fim, a menção final do curso é dada de acordo com a tabela abaixo:

\(M_F\) Menção Descrição
\(0\) SR Sem rendimento
\([1,29]\) II Inferior
\([30,49]\) MI Médio Inferior
\([50,69]\) MM Médio
\([70,89]\) MS Médio Superior
\([90,100]\) SS Superior

IMPORTANTE: Atestados médicos e documentos comprobatórios de justificativa de faltas dão direito à realização de atividades avaliativas que você venha a perder, mas essas ausências justificadas também são levadas em consideração como ausências efetivas para o cômputo da frequência mı́nima obrigatória (Graduação UnB – Manual para estudantes, pág. 35).

4.3. Bibliografia

4.3.1. Bibliografia Básica

  • CORMEN, Thomas H.; LEISERSON, Charles E.; RIVEST, Ronald L.; STEIN, Cli or. Algoritmos: Teoria e Prática. 2a.edição, Campus.
  • Algorithms in C , Robert Sedgewick

4.3.2. Bibliografia Complementar

  • MEHLHORN, K; SANDERS, P. Algorithms and Data Structures: The Basic ToolBox, 1st. ed. Springer, 2008.
  • HALIM, Steve S; HALIM, Felix. Competitive Programming, 1st ed, Lulu, 2010.
  • STEPHENS, Rod. Essential Algorithms: A Pratical Approach to Computer Algorithms. John Wiley Sons, 2013.
  • AHO, A. V.; ULLMAN, J. D. Foundations of Computer Science: C Edition (Principles of Computer Science Series), 1st ed., W. H. Freeman, 1994.

4.3.3. Para acesso de casa

5. Monitor

  • monitores em seleção

6. Provas Passadas

Acesse as provas anteriores no link a seguir PROVAS ANTERIORES

7. Presença

  • Lançado diretamente no SIGAA

8. Notas

8.1. Consolidadas

  • Px são as provas
  • TO é o trabalho
  • situação é a situação final na disciplina, gerada após todas avaliações

Author: Bruno Ribas

Created: 2025-03-27 Thu 10:07

Validate