Algoritmos e Estrutura de Dados I - AE22CP - 2012/2 |
Bruno César Ribas |
Exercícios
- O que é Algoritmo?
- Implemente o Algoritmo Bubble Sort
- Modifique o seu Algoritmo Bubble Sort e faça ele imprimir quantas operações de troca e quantas comparações foram feitas.
- Implemente o Algoritmo Selection Sort
- Modifique o seu Algoritmo Selection Sort e faça ele imprimir quantas operações de troca e quantas comparações foram feitas.
- Compare o tempo de execução do Bubble e Selection sort para entradas aleatórias até 100000 elementos.
- Escreva uma versão recursiva do algoritmo de ordenação por seleção
- Na função selecao, que acontece se trocarmos "for (i = 0" por "for (i = 1"? Que acontece se trocarmos "for (i = 0; i < n-1" por "for (i = 0; i < n" ?
- Na função "menor", troque a comparação "v[j] < v[min]" por "v[j] <= v[min]". A nova função continua produzindo uma ordenando crescente de v[0..n-1]?
- Escreva uma função que permute os elementos de um vetor inteiro v[0..n-1] de modo que eles fiquem em ordem decrescente.
- Escreva uma função que coloque em ordem lexicográfica um vetor de strings. Use o algoritmo de seleção.
- Resolva a questão 3 da Segunda de prova de 2012-1
- Suponha que cada elemento de um vetor é um registro com dois campos: um
é um inteiro e outro uma string:
struct registro {int aa; char *bb;};
Escreva uma função que rearranje o vetor de modo que os campos aa fiquem em ordem crescente. Escreva outra função que rearranje o vetor de modo que os campos bb fiquem em ordem lexicográfica.
--
Last Modified: Wed Mar 20 16:56:28 2013.