4) { while ($ads2 == $ads1) { $ads2 = rand(1, $slides); } } $ads3 = rand(1, $slides); if ($slides > 4) { while (($ads3 == $ads2) || ($ads3 == $ads1)) { $ads3 = rand(1, $slides); } } ?>
IPRJ PROJETO E ANÁLISE DE ALGORITMOS  
LISTA DE EXERCÍCIOS 10  
1
) O arquivo senhas.txt contêm dados sobre a frequência de uso de senhas semelhantes  
de 430 mil usuários de um determinado sistema. Este arquivo pode ser acessado no  
seguinte link:  
http://www.inf.puc-rio.br/~elima/paa/senhas.txt  
No arquivo, cada linha representa uma determinada senha. O primeiro número de  
cada linha indica o tamanho da senha (número de caracteres) e o segundo número  
indica a quantidade de ocorrências dessa senha (frequência). Por exemplo, se a senha  
“vogel1282”, de tamanho 9, foi utilizada por 25 usuários, haverá no arquivo uma linha  
como esta:  
9
25 vogel1282  
O seguinte programa faz a leitura do arquivo de senhas e as armazena em um vetor de  
ponteiros:  
http://www.inf.puc-rio.br/~elima/paa/senhas.c  
a) Implemente e utilize todos os algoritmos de ordenação estudados (Bubble  
Sort, Selection Sort, Insertion Sort, Merge Sort e Quick Sort) para ordenar as  
senhas em ordem alfabética.  
b) Para cada algoritmo, registre o tempo necessário para ordenar o vetor de  
senhas (em milissegundos).  
c) Elabore uma tabela para comparar o tempo de execução dos algoritmos.