/** INCOMPLETO: completar! */
|
Java2html |
Este é o blog de relacionamento com alunos de Fábio Nakano.
Desejo testar se esta mídia facilita a comunicação e aprendizado de conteúdo.
Gostaria que vocès dessem notas mais altas para posts que ajudaram mais a entender o assunto (e não por outro critério, por exemplo o melhor escrito ou o mais "bonito")
fabionakano at usp dot br
Prédio A1, segundo andar - Sala 204E
Caso precise do mapa do Campus:http://each.uspnet.usp.br/site/mapa.php
Siga-me por email preenchendo a caixa abaixo.
sábado, 12 de agosto de 2017
Algoritmo tentativa e erro (incompleto) escrito na aula de 11.08.2017
Algoritmo guloso escrito na aula de 11.08.2017
public class MyClass {
|
Java2html |
domingo, 6 de agosto de 2017
Pseudo-código de algoritmo de tentativa e erro (backtracking) - slide do livro do Ziviani baixado da Web - Aula de 08.08.2017
Em linhas gerais um método guloso tem os passos descritos no slide abaixo:
Desafio 1: Compare os pseudo-códigos do algoritmo guloso e do tentativa e erro. Aponte semelhanças e diferenças.
Desafio 2: Use o algoritmo de tentativa e erro para tentar resolver um problema que conhece, por exemplo o problema da mochila. Procure saber o que é árvore de execução. Simule a execução (ou: faça o teste de mesa) do algoritmo de tentativa e erro representando a simulação em uma árvore de execução.
Desafio 3: Analise o código que escreveu a fim de saber que variável ṕode ser usada como "tamanho do problema" e como o tempo de execução (ou quantidade de operações executadas, ou quantidade de comparações executadas) evolui em função do tamanho do problema.
Desafio 4: Escreva o programa, meça os tempos de execução de diferentes conjuntos de dados para o problema da mochila e construa o gráfico do tempo de execução em função do tamanho do problema. O resultado coincide com o que intuiu no desafio 1?
Problemas muito usados para exemplificar tentativa e erro:
Desafio 1: Compare os pseudo-códigos do algoritmo guloso e do tentativa e erro. Aponte semelhanças e diferenças.
Desafio 2: Use o algoritmo de tentativa e erro para tentar resolver um problema que conhece, por exemplo o problema da mochila. Procure saber o que é árvore de execução. Simule a execução (ou: faça o teste de mesa) do algoritmo de tentativa e erro representando a simulação em uma árvore de execução.
Desafio 3: Analise o código que escreveu a fim de saber que variável ṕode ser usada como "tamanho do problema" e como o tempo de execução (ou quantidade de operações executadas, ou quantidade de comparações executadas) evolui em função do tamanho do problema.
Desafio 4: Escreva o programa, meça os tempos de execução de diferentes conjuntos de dados para o problema da mochila e construa o gráfico do tempo de execução em função do tamanho do problema. O resultado coincide com o que intuiu no desafio 1?
Problemas muito usados para exemplificar tentativa e erro:
- Passeio do cavalo;
- 8 rainhas;
- n rainhas;
- Problema da mochila;
- Problema do circuito Hamiltoniano.
- combinatória;
- crescimento de funções;
- divisão e conquista (exemplos: busca binária e MergeSort);
- sequências e séries, fórmulas de recorrência e fórmulas fechadas;
- demonstração por indução;
- indução fraca/forte;
- Notação Assintótica;
- Teorema Mestre;
- HeapSort;
- QuickSort;
- Cota Inferior para algoritmos de ordenação, aproximação de Stirling;
- Ordenação em tempo linear;
- Espalhamento (hashing);
Pseudo-código de algoritmo guloso - slide do livro do Ziviani baixado da Web - Aula de 04.08.2017
Em linhas gerais um método guloso tem os passos descritos no slide abaixo:
Desafio 1: Use o algoritmo guloso para tentar resolver um problema que conhece, por exemplo o problema da mochila. Analise o código que escreveu a fim de saber que variável ṕode ser usada como "tamanho do problema" e como o tempo de execução (ou quantidade de operações executadas, ou quantidade de comparações executadas) evolui em função do tamanho do problema.
Desafio 2: Escreva o programa, meça os tempos de execução e construa o gráfico do tempo de execução em função do tamanho do problema. O resultado coincide com o que intuiu no desafio 1?
Parada4 - 01.08.2017
01 /** Tentativas para fazer a sequência de invocações
|
Java2html |
Parada3 - 01.08.2017
01 /** Tentativas para fazer a sequência de invocações
|
Java2html |
Parada2 - 01.08.2017
01 /** Tentativas para fazer a sequência de invocações
|
Java2html |
Parada1 - 01.08.2017
01 /** Tentativas para fazer a sequência de invocações
|
Java2html |
Métodos e pilha de execução - Aula de 01.08.2017
01 /** A construção de um método recursivo em partes.
|
Java2html |
Parâmetros - Aula de 01.08.2017
01 /** passagem de parâmetros
|
Java2html |
terça-feira, 1 de agosto de 2017
Introdução à Análise de Algoritmos - planejamento e referências.
Na figura a bibliografia, tópicos principais e datas importantes.
O semestre é dividido em dois períodos. O primeiro período corresponde é o de aulas, o segundo período ao de recuperação. O calendário USP 2017 contém as datas de referência.
Segundo o Regimento Geral artigo 84 (consultado em 07.03.2017), Artigo 84 – Será aprovado, com direito aos créditos correspondentes, o aluno que obtiver nota final igual ou superior a cinco e tenha, no mínimo, setenta por cento de freqüência na disciplina.
No primeiro período haverá duas provas. O estudante que deixar de fazer uma delas pode fazer a prova substitutiva sem necessidade de justificativa adicional (critério estabelecido pelo docente).
P1: 15.09.2017
P2:
PSUB: 01.12.2017
PREC: 22.01.2018 (segunda-feira)
A média das provas é calculada: MP=0.4P1+0.6*P2
No primeiro período haverá 2 Exercícios-programa (EP). Tarefas realizadas em casa, entregues através do Tidia*
* Este é o Tidia 4, até o ano passado eu usava o Tidia 3.
divulgação entrega tema
EP1 31.08 02.10 (22h) backtracking
EP2 08.11 08.12 (22h) hashing
A média dos EP é calculada MEP=(EP1+EP2)/2
A média no primeiro período é calculada: M1=0.8*MP+0.2*MEP
Tem nota para aprovação quem obtiver M1>=5.0 (obs.: 4,95<5.0)
No segundo período é realizada a avaliação de recuperação. Pode fazê-la quem tiver M1>=3.0
PREC: 22.01.2018 (segunda-feira)
A média no segundo período é calculada:
M2=(M1+PREC)/2
Tem nota para aprovação quem obtiver M2>=5.0 (obs.: 4,95<5.0)
A frequência mínima é de 70%, comprovada por assinatura em lista de presença. O abono de faltas é regulamentado por portaria da Comissão de Graduação.
Assinar:
Postagens (Atom)