Salve,
Antes de mais nada, vejam as animações de algoritmos de ordenação que estão na página
Sorting Algorithm Animations
Como sugere a página "Ordenação: algoritmos elementares" de Paulo Feofiloff.
Sugiro que você façam os exercícios 2, 3, 20, 24 e 26 da página Ordenação: algoritmos elementares de Paulo Feofiloff.
Mais alguns exercício envolvendo contagem.
- Quantas atribuições faz o trecho de código abaixo?
s = 0; for (i = 1; i <= n; i++) s = s+i;
Escreva um trecho de código que produza o mesmo efeito com menos atribuições. - Quantas adições e multiplicações faz o seguinte trecho de código:
for (i = 0; i < m; i++) for (j = 0; j < p; j++) { /* calcula o elemento (i,j) */ prod[i][j] = 0; for (k = 0; k < n; k++) prod[i][j] = prod[i][j] + a[i][k]*b[j][k]; }
- Quanto vale s no fim do seguinte trecho de código?
s = 0; i = n; while (i > 0) { for (j = 1; i <= i; i++) s = s + 1; i = i/2; }
Hmmm...acho que não é trivial.