Mudanças entre as edições de "SCC-603 2012"
De CoteiaWiki
Linha 20: | Linha 20: | ||
# [[Media:(Novo) p2.rar|Notas P2]] | # [[Media:(Novo) p2.rar|Notas P2]] | ||
+ | # [[Media:(Novo) p3.rar|Notas P3]] | ||
# Revisão de provas 2 e 3 amanhã, dia 03/07, 10-12, sala 3-102 (ICMC - CAMPUS I) | # Revisão de provas 2 e 3 amanhã, dia 03/07, 10-12, sala 3-102 (ICMC - CAMPUS I) | ||
− | |||
# Revisão pode ser feita em outro dia também, até no início do próximo semestre. | # Revisão pode ser feita em outro dia também, até no início do próximo semestre. | ||
# rec na primeira semana de aula do próximo semestre. Data, hora (período noturno) e local a serem divulgados aqui. | # rec na primeira semana de aula do próximo semestre. Data, hora (período noturno) e local a serem divulgados aqui. | ||
Linha 86: | Linha 86: | ||
== Notas == | == Notas == | ||
# [[Media:(Novo) p2.rar|Notas P2]] | # [[Media:(Novo) p2.rar|Notas P2]] | ||
+ | # [[Media:(Novo) p3.rar|Notas P3]] | ||
== Sugestões de leitura == | == Sugestões de leitura == |
Edição das 02h06min de 3 de julho de 2012
SCC-603 --- Algoritmos e Estruturas de Dados II --- 1º Semestre 2012 [ementa]
Professora: Rosane Minghim (rminghim at icmc.usp.br)
Horário de atendimento: Sextas-feiras 15:00 às 18:00
Sala: 4-206
Assistente PAE: Rafael Messias Martins (rmartins at icmc.usp.br)
Horário de atendimento: Segunda-feira, 19:00 às 21:00
Sala: 3-009
Índice
[ocultar]Avisos
- Notas P2
- Notas P3
- Revisão de provas 2 e 3 amanhã, dia 03/07, 10-12, sala 3-102 (ICMC - CAMPUS I)
- Revisão pode ser feita em outro dia também, até no início do próximo semestre.
- rec na primeira semana de aula do próximo semestre. Data, hora (período noturno) e local a serem divulgados aqui.
Cronograma e Critérios de Avaliação
Material Didático
- Arquivo 01 - Introdução a Grafos (Revisado)
- Arquivo 02 - Grafos Algoritmos (Revisado)
- Grafos - Caminhos (complementar)
- Arquivo 03 - Grafos Caminhos Mínimos
- Arquivo 04 - Organização de Arquivos (Revisado)
- Arquivo 05 - Fundamentos de Arquivos (Revisado)
- Fundamentos de Arquivos: Códigos-exemplo (complementar)
- Arquivo 06 - Armazenamento Secundário, parte 1 (Revisado)
- Arquivo 07 - Armazenamento secundário, parte 2 (Revisado)
- Arquivo 08 - Processamento Cosequencial (Revisado)
- Arquivo 09 - Índices - Cap. 5
- Arquivo 11 - Árvores B, parte 1
- Arquivo 12 - Árvores B, parte 2
- Arquivo 13 - Árvores B, parte 3
- Arquivo 14 - Árvores B, parte 4
- Arquivo 15 - Árvores B+
- Hashing
Trabalhos
O envio dos trabalhos será feito pelo SQTPM.
- Trabalho 0 - Demonstração do SQTPM
- Trabalho 1 - Menores Caminhos (Atualizado)
- Prazo: 15/05 (Podem continuar submetendo; desconto de 0,5 ponto por dia)
- Trabalho 2 - Betweenness (Atualizado)
- Prazo: 21/05
- Dicas:
- Cuidado com a memória!
- Não dupliquem vértices com dados, por exemplo o nome. Cada vértice só deve ter UMA cópia na memória a qualquer momento. Sempre que tiverem que referenciar esse vértice (numa aresta, por ex., ou numa lista de predecessores), usem um ponteiro ou um "id" inteiro, por ex.
- Cuidado com alocação dinâmica; não se percam pelo mar de ponteiros que vocês mesmo criam. Gerenciem cada ponteiro com cuidado.
- Lembrem-se: quando vocês tem informação prévia do tamanho da lista (e esse tamanho não muda), um array é muito melhor que uma lista encadeada. Ou seja: tendo o número N de vértices, porque não alocar um array de N posições e atribuir um "id" de 0 a N-1 para cada vértice? Assim vocês poderão acessar qualquer vértice em tempo O(1) com "array[id]".
- Cuidado com o tempo!
- Evitem buscas completas no grafo se não for estritamente necessário. Se você precisa fazer uma busca linear no grafo toda vez que um vértice é referenciado, algo está errado no seu algoritmo (ver dica anterior sobre o array).
- Não usem campos como nome (string) para o "id" do vértice. Operações com strings não são eficientes e são complicadas de usar em C, devido à alocação dinâmica. Evitem ao máximo manipulação de strings nesse contexto.
- Cuidado com a memória!
- Trabalho 3 - Índices
- Trabalho 4 - Árvore B
Exercícios de Aula
Listas de Exercícios
- Lista de Exercícios 1
- Lista de Exercícios 2
- Lista de Exercícios 3
- Lista de Exercícios 4
- Lista 5 - Processamento Cosequencial
- Lista 6 - Estruturas de Arquivos
Notas
Sugestões de leitura
Livro: Como passar em provas e concursos.
- Autor: William Douglas.
- Link: http://bit.ly/y98WhW
Livro: Data Structures and Algorithms in C++/Java
- Autores: M. T. Goodrich e R. Tamassia
- Link: http://ww0.java4.datastructures.net/
Livro: Projeto de Algoritmos
- Autor: N. Ziviani
- Link: http://www.dcc.ufmg.br/algoritmos/
Livro: Introduction to Algorithms
- Autores: T. H. Cormen, C. E. Leiserson e R. L. Rivest
- Link: http://mitpress.mit.edu/algorithms/