Please enable JavaScript.
Coggle requires JavaScript to display documents.
ALGORITMOS DE ORDENÇÃO, QUICKSORT, SHELL SORT, ALGORITMOS DE ORDENAÇÃO…
ALGORITMOS DE ORDENÇÃO
BUBBLE SORT
EFICIÊNCIA
A lista é varrida e cada elemento é comparado com seu subsequente, se estiverem fora de ordem serão invertidos
Este algoritmo apresenta uma eficiência relativamente baixa, mesmo entre os algoritmos de força bruta
-
-
SELECTION SORT
Descrição do algoritmo:
-
Apesar de precisar varrer a parte não ordenada da lista varias vezes, há uma grande vantagem neste algoritmo, é feita apenas uma troca para cada valor.
Ou seja, torna-se muito vantajoso quando os dados em questão são strings longas ou arquivos grandes
Eficiência:
A eficiência do Selection sort, da ordem quadrática, ou seja, big O == N²
-
A operação básica é:
A[j] < A[min]
Em que A[j] representa o termo atual que será comparado e A[min] é o menor termo encontrado na lista durante aquela varredura.
A operação básica pode se repetir até (n -1) vezes para cada n. Isto é, no pior dos casos
São dois os algoritmos de ordenação apresentados pelo livro como os mais eficientes. Bubble sort e selection sort
INSERTION SORT
-
-
Assemelha-se a quando vamos organizar uma pilha de contas, pegamos as duas primeiras e organizamos e depois adicionamos as seguintes na devida ordem.
Formada por loops for aninhados, um que será repetido para cada elemento, e outro que será repetido uma quantidade de vezes que depende de quantos elementos que estão a sua frente são menores do que ele.
-
QUICKSORT
Eficiência:
O caso onde se destaca a eficiência do quicksort é no caso médio, pois entre o melhor caso e o caso médio há uma diferença pequena
-
-
Uma possibilidade muito interessante e indicada para melhorar a eficiência do Quicksort é nos casos de se deparar com uma matriz pequena
No caso da matriz inicial ter poucos elementos, por exemplo, e melhor utilizar o insertionsort
E quando a matriz é muito grande mas ja foi subdividida em arrays menores de pouco elementos(9 ou menos) não é preciso continuar organizando eles, pois ja estão em um nivel de ordem bastante aceitavel.
O que será feito é que ao fim da execução do Quicksort, será utilizado o insertion sort, para organizar os poucos elementos que ainda não chegaram ao seu devido lugar.
-
O Quicksort utiliza uma lógica semelhante a de uma árvore de busca binária, ao definir o pivô(k) são estabelecidos o lado esquerdo e o lado direito.
-
Para definir o pivô:
A escolha de um pivô ruim pode acarretas em uma divisão que não fará diferença, por exemplo, deixando uma das divisões vazias.
Uma forma de contornar isso é utilizando um número aleatório, porém a randomização é um processo custoso.
-
-
-
SHELL SORT
É uma algoritmo de ordenação mais eficiente que selection e insertion sort porém ainda é mais lento que os demais
-
-