Você está na página 1de 8

UNIVERSIDADE FEDERAL DO OESTE DA BAHIA

CENTRO DAS CIÊNCIAS EXATAS E SUAS TECNOLOGIAS


BACHARELADO EM ENGENHARIA CIVIL

COMPONENTE CURRICULAR:PROGRAMAÇÃO DE COMPUTADORES 2

PROFESSOR: ICARO PRADO

FLÁVIO ALEXANDRE DA CÂMARA ARAÚJO

VITOR ALVES DOS SANTOS

ALGORITMOS DE ORDENAÇÃO

Barreiras-BA

2022
SUMÁRIO
INTRODUÇÃO………………………………………………………………………………...
Introdução

De que maneira busca-se em uma lista desordenada algum dado importante?


Nesse contexto, o caso ideal seria ter um conjuntos de dados organizados, sejam
eles nomes, ruas, cidades, etc., que a gente viria a organizá-los alfabeticamente, ou
números de telefone, como em uma lista, idades dos clientes de uma clínica, entre
outros, que seriam organizados numericamente em ordem crescente ou
decrescente
Desta forma, utilizar um algoritmo de ordenação em um banco de dados, contendo
informações importantes, é de grande importância, já que o mesmo deve ser
trabalhado de maneira correta, evitando ao máximo erros, e tentando buscar
otimização de tempo.

Características dos algoritmos escolhidos, vantagens, aplicações:

Os algoritmos de ordenação escolhidos para a realização da ordenação das listas


foram o bubble sort e o quick sort.
O bubble sort tem como característica ser mais simples em relação aos demais
algoritmos de ordenação, porém menos eficiente. Ele realiza múltiplas passagens
por uma determinada lista (estrutura de dados no qual o bubble sort é melhor
aplicado), comparando os itens adjacentes e assim, realizando trocas em relação
aos que estão fora de ordem. Cada passagem pela lista coloca o próximo valor na
sua posição correta. Em essência, cada item se desloca como uma “bolha” para a
posição à qual pertence. Em geral, o bubble sort tem como vantagem justamente
sua fácil implementação, por ser um algoritmo bastante conhecido pela sua
simplicidade, e além disso, nesse algoritmo os elementos são trocados de lugar sem
a necessidade de um armazenamento temporário, ou seja, há um requerimento
mínimo de espaço na memória. O bubble sort é um algoritmo razoável para ordenar
arrays (listas) de tamanho pequeno ou, especialmente, ao executar algoritmos de
ordenação em computadores com recursos de memória notavelmente limitados.
O quick sort já é um algoritmo mais eficiente e seu método de ordenação utiliza a
estratégia de “dividir para conquistar”. Nesse algoritmo, primeiramente é escolhido
um elemento (chamado de pivô), e a partir disso a lista é organizada em função
deste pivô, em que todos os elementos de menor valor em relação ao pivô são
posicionados na lista antes do pivô, e todos os elementos maiores são organizados
em posições posteriores. Este procedimento é repetido com outros pivôs até que a
lista esteja totalmente ordenada. Em relação às suas vantagens, o quick sort é
considerado como um dos melhores algoritmos de ordenação, senão o melhor,
claramente por sua eficiência, uma vez que funciona bem com uma lista com
grandes quantidades de elementos, onde também não há a necessidade de espaço
adicional de armazenamento.
Pela sua eficiência, o quick sort é muito usado na Computação comercial em várias
organizações governamentais e privadas, classificando vários dados em arquivos
como nome, data, preço, entre outros. O algoritmo também é usado para Pesquisas
de informações e, como Quicksort é o algoritmo de classificação mais rápido, é
amplamente usado como uma forma melhor de pesquisa, e além disso, é usado em
todos os lugares onde uma classificação estável não é necessária. Em cálculos
numéricos e em pesquisas científicas, o quick sort é bastante usado para uma maior
precisão nos cálculos.

Funcionamento dos Algorítmos:

O primeiro algoritmo de ordenação escolhido foi o Bubble Sort. Ele executa


diversas “voltas” na estrutura de dados que foi aplicado, ele compara se um item é
maior que o outro e vai trocando os mesmos de posição. Cada volta que ele dá, ele
coloca o próximo valor na posição correta, se o mesmo for o maior da comparação.
A figura 1 simula as voltas que o script vai fazer dentro de uma lista. Os itens de
cores mais escuras, são os que estão sendo comparados, nessa comparação, eles
irão trocar de lugar, se caso for necessário para manter a lista em ordem. Se a lista
tiver n números, a primeira passagem vai ter n-1 pares de itens a serem
comparados..
Figura 1 - Funcionamento do algoritmo Bubble Sort

O quick sort já é um algoritmo mais eficiente e seu método de ordenação utiliza a


estratégia de “dividir para conquistar”. Esse algoritmo primeiro seleciona um valor,
chamado de pivô . Embora existam muitas maneiras de selecionar o pivô, iremos
utilizar simplesmente o primeiro item na lista. O papel do pivô é ajudar na divisão da
lista. A posição à qual o pivô pertence de fato na lista ordenada, conhecida como
ponto de divisão , será usada para quebrar a lista em chamadas subsequentes do
quick sort.
A Figura 2 mostra que o 54 funcionará como nosso primeiro pivô. Como já olhamos
para esse exemplo algumas vezes, sabemos que o 54 acabará uma hora na
posição em que está o 31 . Ele irá encontrar o ponto de divisão e, ao mesmo tempo,
moverá os itens para o lado apropriado da lista, isto é, maior ou menor que o valor
do pivô.
Figura 2 - O Primeiro Pivô do Quick Sort

O particionamento começa localizando dois marcadores de posição (vamos


chamar-los de leftmark e rightmark) no começo e no fim dos demais itens da lista
(posições 1 e 8 na Figura 3 ). O objetivo do processo de particionamento é mover os
itens que estão do lado errado do pivô para o lado certo, convergindo para o ponto
de divisão. A Figura 3 mostra esse processo conforme nós localizamos a posição do
número 54.
Figura 3 - Encontrando o ponto de divisão para o 54
Começamos incrementando o leftmark até encontrarmos um valor que seja maior
que o valor do pivô. Nós então decrementamos o rightmark até que encontramos
um valor que seja menor que o valor do pivô. Nesse momento, descobrimos dois
itens que estão fora de ordem em relação ao eventual ponto de divisão. Para o
nosso exemplo, isso ocorre com o 93 e o 20. Agora podemos trocar esses dois itens
e repetir o processo novamente.

No momento em que o rightmark se tornar menor que o leftmark, paramos. A


posição do rightmark vira agora o ponto de divisão. O valor do pivô pode ser trocado
com o que estiver no ponto de divisão e o valor do pivô agora estará em seu devido
lugar ( Figura 4 ). Além disso, todos os itens à esquerda do ponto de divisão são
menores do que o valor do pivô e todos os itens à direita do ponto de divisão são
maiores do que o valor do pivô. A lista pode agora ser dividida no ponto de divisão e
o ksort rápido pode ser chamado recursivamente sobre as duas metades.

Figura 4 - Completando o Particionamento Para Encontrar o Ponto de Divisão do 54


REFERÊNCIAS

https://www.treinaweb.com.br/blog/conheca-os-principais-algoritmos-de-ordenacao
https://www.devmedia.com.br/algoritmos-de-ordenacao-analise-e-comparacao/2826
1
https://www.ehow.com.br/vantagens-desvantagens-algoritmos-ordenacao-info_1627
7/
https://www.freecodecamp.org/portuguese/news/algoritmos-de-ordenacao-explicado
s-com-exemplos-em-python-java-e-c/#:~:text=Os%20algoritmos%20de%20ordena%
C3%A7%C3%A3o%20s%C3%A3o%20importantes%20em%20Ci%C3%AAncia%20
da%20Computa%C3%A7%C3%A3o,de%20dados%20e%20muito%20mais.
https://acervolima.com/aplicacao-e-usos-do-quicksort/

Você também pode gostar