Dúvida Sobre Métodos de Ordenação

Tenho q fazer um programa para testar a velocidade com que os métodos de ordenação arrumam arranjos aleatórios

Quando eu utilizo um Arranjo onde todos os elementos são iguais o tempo de execução fica igual a 0,será q não está armazenando o tempo ou está certo ser 0 mesmo???

[quote=legolias]Tenho q fazer um programa para testar a velocidade com que os métodos de ordenação arrumam arranjos aleatórios

Quando eu utilizo um Arranjo onde todos os elementos são iguais o tempo de execução fica igual a 0,será q não está armazenando o tempo ou está certo ser 0 mesmo???[/quote]

Você não está armazenando o tempo corretamente.

No BubbleSort por exemplo, mesmo que todos os elementos sejam iguais, ele vai ter que varrer a lista inteira pra constatar isso, portanto, não tem como o tempo ser 0.

O ideal para fazer esses testes é colocar uma lista de entrada bem grande, tipo 100000.

[]'s

Cara eu fiz isso q vc ta falando oq me parece é q o meu programa não ta conseguindo acessar a segunda linha da matriz responsável por armazenar os tempos

for(int i=0;i<ArranjosAjustados;i++) { for(int j=0;j<conTam;j++) { if(Arranjos[aux]==true) { g.criaArranjo(aux,Tamanho[j]); if(Metodos[0]==true) { InsertionSort IS=new InsertionSort(); TI=System.nanoTime(); IS.ordena(g.ArrayTeste); TT=System.nanoTime(); Insertion[i][j]=TT-TI; }
Quando entra na segunda vez nessa parte ele não consegue armazenar o tempo denovo na segunda linha da matriz Insertion[i][j] não sei o pq.
Tanto que a quando o i=0 ele consegue armazenar o tempo só q quando altera o valor de i não armazena mais nada

Para fazer o timing:

[code]long t1 = System.currentTimeMillis();
objeto.chamarMétodo();
long t2 = System.currentTimeMillis();

long intervalo = t2 - t1;

System.out.println("Tempo: " + intervalo + “ms”);[/code]

O problema não é com o comando q eu tou usando para armazenar o tempo o problema ta sendo em como armazenar pq na primeira vez do laço eu consigo armazenar na segunda q não armazena

Opa.
Eu não li seu código mas o ideal é, além de estudar complexidade de algoritmos, você fazer entradas assintóticas (ou seja, tentendo ao inifnito). Depois, mede em milissegundo e joga em um gráfico. Você ve o desempenho bem legal assim :slight_smile: