Lista de Exercícios: Parte I Projeto e Análise de Algoritmos Profa. Jerusa Marchi 1. Dê um exemplo de problema real que necessite de algoritmos de ordenação para ser resolvido. RESP: Qualquer solução que necessita de busca binária, necessita de um algoritmo de ordenação previamente 2. Apresente um exemplo de um problema real em que somente a solução exata é admissível. Apresente um exemplo de um problema do mundo real em que uma solução aproximada é boa o bastante. RESP: Aplicações de cálculo estrutural na engenharia civil necessitam de solução exata, pois a estrutura de uma edificação não pode ser aproximada. Aplicações de raciocínio baseado em casos normalmente trabalham com soluções aproximadas. Para fazer a recomendação de um caso basta encontrar um caso aproximado ou semelhante. 3. Em que aspectos os problemas do caminho mais curto e do caixeiro viajante são semelhantes? Em que aspectos eles são diferentes? RESP: Ambos buscam o menor caminho por um grafo valorado. Porém o problema do caixeiro viajante tem os requisitos de passar exatamente por cada nó do grafo e voltar para o nó de origem ao final. 4. Suponha que estamos comparando implementações dos algoritmos de ordenação insertion sort e merge sort em uma mesma máquina. Para entradas de tamanho n, o insertion sort executa em 8n2 passos, enquanto o merge sort executa em 64n lg n passos. Para quais valores de n o insertion sort supera o merge sort? RESP: Conforme gráfico das funções, abaixo, será a partir de n=44. 5. Qual é o menor valor de n para o qual um algoritmo, cujo tempo de execução é 100n2, executa mais rápido que um algoritmo cujo tempo de execução é 2n. RESP: Conforme gráfico das funções, abaixo, será aproximadamente a partir de n=14. 6. Para cada função f(n) e tempo t na tabela seguinte, determine o maior tamanho n de um problema que pode ser resolvido no tempo t, assumindo que o algoritmo para resolver o problema tome tempo f(n) microssegundos.