Escolar Documentos
Profissional Documentos
Cultura Documentos
Adamantina
2023
Sumário
2
ALGORITMOS DE ORDENAÇÃO
3
BUBBLE SORT MELHORADO (VERSÃO QUE VERIFICA SE O VETOR JÁ
ESTÁ ORDENADO)
O Bubble Sort melhorado que verifica se o vetor já está ordenado é uma variação
do Bubble Sort clássico que tenta otimizar o desempenho quando a lista já está parcial
ou completamente ordenada.
INSERTION SORT
4
Para inserir o segundo elemento na lista ordenada, o algoritmo o compara com o
primeiro elemento. Se o segundo elemento for menor que o primeiro, eles são trocados
de posição, colocando o elemento menor na primeira posição e o elemento maior na
segunda. Agora, a lista ainda está ordenada porque só tem dois elementos.
5
como o Bubble Sort. No entanto, seu desempenho degrada rapidamente à medida que
o tamanho da lista aumenta. A complexidade de tempo média do Insertion Sort é
O(n^2), onde "n" é o número de elementos na lista, tornando-o menos adequado para
listas grandes. Complexidade pior caso: O(n^2), caso médio: O(n^2), melhor caso: O(n).
SHELL SORT
6
Embora o Shell Sort seja mais eficiente do que o Insertion Sort em muitos casos,
ele não é tão rápido quanto algoritmos de ordenação mais avançados, como o Merge
Sort ou o Quick Sort. No entanto, ele pode ser uma escolha sólida quando a
simplicidade de implementação é importante e a lista não é muito grande.
Complexidade: pior caso: O(n log2 n), caso médio: depende da sequência do gap,
melhor caso: O(n log2 n).
SELECTION SORT
Embora o Selection Sort seja fácil de entender e implementar, ele não é eficiente
para listas muito grandes, pois seu desempenho tem uma complexidade de tempo no
pior caso de O(n^2), o que significa que o número de operações cresce rapidamente
com o tamanho da lista. Portanto, para listas maiores, outros algoritmos de ordenação,
como o Merge Sort ou o Quick Sort, são geralmente preferíveis devido à sua eficiência
7
superior. No entanto, o Selection Sort pode ser útil em situações em que a simplicidade
de implementação é mais importante do que o desempenho máximo. Complexidade
pior caso: O(n^2), caso médio: O(n^2) e melhor caso: O(n^2).
8
Complexidade: pior caso: O(n^2), caso médio: O (n log n) e melhor caso: O (n
log n).
No Quick Sort com o pivô sendo o elemento central da lista, a escolha do pivô é
feita selecionando o elemento central da lista como pivô. A lista é então particionada em
duas sub-listas: uma contendo elementos menores que o pivô e outra com elementos
maiores que o pivô. O processo de particionamento envolve a movimentação de índices
esquerdo e direito para encontrar elementos que precisam ser trocados. O algoritmo é
aplicado recursivamente a ambas as sub-listas até que toda a lista esteja ordenada.
Esse método ajuda a evitar degradações de desempenho em comparação com outras
escolhas de pivô, especialmente quando a lista já está parcialmente ordenada. É uma
variação eficiente do Quick Sort, seguindo a estratégia "dividir para conquistar".
Embora o Quick Sort com essa escolha de pivô seja eficiente na maioria dos
casos, seu desempenho pode ser menos eficiente do que outras variações do Quick
Sort em listas que já estão parcialmente ordenadas. Complexidade pior caso: O(n^2),
caso médio: O (n log n) e melhor caso: O (n log n).
9
MERGE SORT
A ideia do Merge Sort é dividir o vetor em dois subvetores, cada um com metade
dos elementos do vetor original. Esse procedimento é então reaplicado aos dois
subvetores recursivamente. Quando os subvetores têm apenas um elemento (caso
base), a recursão para. Então, os subvetores ordenados são fundidos (ou intercalados)
num único vetor ordenado.
HEAP SORT
Complexidade pior caso: O (n log n), caso médio: O (n log n) e melhor caso: O (n
log n).
11
Fontes – Imagens
Bubble Sort: o que é e como usar? Exemplos práticos! – Insights para te ajudar
na carreira em tecnologia | Blog da Trybe (betrybe.com)
https://www.blogcyberini.com/2018/07/merge-sort.html
https://www.programmingboss.com/2016/02/quick-sort-algorithm-implementation-
in.html
https://www.programiz.com/dsa/merge-sort
12