Você está na página 1de 2

Componentes: Álvaro Batista Higino, Breno dos Santos Vaz da Silva, Carlos Eduardo Estrela

Bessa, Mateus Cardozo Ferreira Reis

Comparação de desempenho entre SelectionSort e QuickSort


Resumo
Este relatório tem a finalidade de comparar dois algoritmos de ordenação: O
SelectionSort e o Quicksort. O Selection Sort é simples, mas ineficiente para grandes
conjuntos de dados, enquanto o Quicksort é mais complexo e baseado na estratégia de
"dividir para conquistar". Analisaremos o desempenho de cada algoritmo em termos de
tempo de execução. A compreensão das características e desempenho desses algoritmos
de ordenação é fundamental para a seleção adequada do método mais adequado às
necessidades do problema. A análise comparativa apresentada neste relatório
proporciona uma base sólida para a compreensão e tomada de decisões informadas ao
lidar com tarefas de ordenação.
Palavras-chaves: selectionsort, quicksort, algoritmo, desempenho.

Introdução
O objetivo deste relatório é apresentar uma análise comparativa entre dois
algoritmos de ordenação amplamente utilizados: SelectionSort e QuickSort. A
ordenação de elementos é um problema fundamental na ciência da computação e tem
muitas aplicações práticas.
O SelectionSort é um algoritmo simples, mas ineficiente para grandes conjuntos
de dados. Ele funciona selecionando o menor elemento e colocando-o na posição
correta no array, repetindo esse processo até que todos os elementos estejam ordenados.
O Quicksort, por outro lado, é um algoritmo de classificação mais complexo baseado
em uma estratégia de dividir para conquistar. Ele seleciona o elemento pivô, reordena a
matriz de forma que todos os elementos menores que o ponto pivô fique à esquerda e
todos os elementos maiores que o ponto pivô fique à direita, repetindo esse processo
recursivamente até que a ordenação seja concluída.
Neste experimento, serão realizadas análises de desempenho, levando em
consideração o tempo de execução e o número de comparações e trocas de elementos
realizados por cada algoritmo.
Experimento
Com a finalidade de descobrir e comprovar a velocidade e desempenho dos
algoritmos de ordenação SelectionSort e QuickSort foram feitos vários testes com
diferentes números de dados. Foram separados em três categorias e cada categoria com
três tipos diferentes de ordenação, sendo elas: Crescente (ordenado), decrescente (meio
ordenado), e aleatória (desordenado). Aplicando blocos de números de 0 a 99, 0 a 999 e
0 a 9999. Assim, foram obtidos os seguintes resultados:
COMPARAÇÃO DE TEMPO SELECTION_SORT
CONJUNTO DE DADOS: PEQUENO = 100 MÉDIO= 1000 GRANDES = 10.000
Tempo(s) Tempo(s) Tempo(s)
ORDENADOS 0.7 sec. 0.73 sec. 0.88 sec.
MEIOS ORDENADOS 0.71 sec. 0.79 sec. 0.99 sec.
DESORDENADOS 0.71 sec. 0.8 sec. 1.2 sec.
Melhor caso: O(n²)
Pior caso: O(n²)

COMPARAÇÃO DE TEMPO QUICK_SORT


CONJUNTO DE DADOS: PEQUENO = 100 MÉDIO= 1000 GRANDES = 10.000
Tempo(s) Tempo(s) Tempo(s)
ORDENADOS 0.6 sec. 0.7 sec. 0.8 sec.
MEIOS ORDENADOS 0.76 sec. 0.75 sec. 0.92 sec.
DESORDENADOS 0.75 sec. 0.77 sec. 0.97 sec.
Melhor caso: O(n log n)
Pior caso: O(n²)

Configurações do PC que foi realizado o teste:


Processador: AMD Ryzen 5 4500 6-Core Processor(12 CPUs), ~3.6GHz Memória: 16G
RAM, Placa mãe: A320M-S2H, Placa de vídeo: NVIDIA GeForce RTX 3050 (VRAM
8G)
Observação: O número de dados foi reduzido, pois o software utilizado não suportou mais de
cinco dígitos de dados.
Link do teste no Visual Studio Code com dados = 1000, no youtube:
https://www.youtube.com/watch?v=fTfXxjqOu-s&ab_channel=MatheusCardozo

Conclusão
Infelizmente pelo número "baixo" de dados as diferenças não foram tão
expressivas, mas é notável que existisse uma leve diferença entre eles, sendo um ligeiro
aumento de tempo em relação a grandes quantidades de dados do selection sort. Ao
analisar o desempenho desses algoritmos, constatamos que o Quicksort geralmente
supera o Selection Sort em termos de tempo de execução, especialmente em grandes
conjuntos de dados. Isso se deve à sua estratégia de dividir o problema em
subproblemas menores, reduzindo o tempo necessário para a ordenação.
Apesar disso, o Selection Sort ainda tem seu valor em algumas situações
específicas. Seu principal benefício é a simplicidade de implementação e a facilidade de
entendimento.
Referência Bibliográfica
BRUNO. Algoritmos de ordenação: análise e comparação. Disponível em: <
https://www.devmedia.com.br/algoritmos-de-ordenacao-analise-e-comparacao/28261>.
Acesso em: 05/07/2023

Você também pode gostar