Analise de codigo
Analise
Ao fazer o trabalho pratico percebe que se tem muita diferença de rapidez, eficiência dos métodos de ordenação e alguns métodos demoravam muito a partir do momento em que a quantidade de vetores aumentava e outros não apresentavam alteração razoável. Com base os gráficos a baixo cheguei a conclusão que o método mais lento foi o
BubleSort e BubleSortAdaptado1. O método BubleSortAdaptado2 e
BubleSortAdaptado3 tiveram o tempo bem parecidos se for comprar com o BubleSort. O método de ordenação QuickSort foi o que mais se destacou em relação a rapidez, performance, eficiência, comparado aos outros métodos, mas isso se ele estiver de forma aleatória ele ordenado da overflow com vetores maiores de 25mil. Já os métodos MergeSort e
Seleção mostrou ter um tempo de performance mais constante, perdendo apenas para o mais eficiente que é o QuickSort , mas é muito eficiente.
Código fonte:
using using using using using using using
System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;
System.Diagnostics;
System.IO;
namespace Trabalho_LCIII
{
class Program
{
public static void BBSortClassico(int[] vetor)
{
int i, j, temp, troca = 0, comparaçao = 0; for (i = 0; i < vetor.Length - 1; i++) for (j = 0; j < vetor.Length - 1; j++)
{
comparaçao++; if (vetor[j] > vetor[j + 1])
{
temp = vetor[j]; vetor[j] = vetor[j + 1]; vetor[j + 1] = temp; troca++; }
}
} public static void BBSortAdap1(int[] vetor)
{
int i, temp; bool HouveTroca = true; while (HouveTroca)
{
HouveTroca = false; for (i = 0; i < vetor.Length - 1; i++) if (vetor[i] > vetor[i + 1])
{
temp = vetor[i]; vetor[i] = vetor[i + 1]; vetor[i + 1] = temp;
HouveTroca = true;
}
}
}
public static void BBSortAdap2(int[] vetor)
{
int i, j, temp, cont; cont = vetor.Length - 1; for (i = 0; i < vetor.Length - 1; i++)
{
for (j = 0; j < cont; j++) if (vetor[j] > vetor[j + 1])
{
temp =