Você está na página 1de 2

Algoritmos de Ordenação

(Anotações de aula)

Dia 02/03.
Algoritmos de Ordenação:
- O que são: São algoritmos que colocam os elementos de uma dada sequencia em uma
certa ordem (ascendente/descendente).
- As ordens mais usadas são a numérica e a lexicográfica (quando ordenamos
palavras ou textos).
- Tipos de ordenação:
-- Bubble sort (Ordenação por trocas)
-- Selection sort (Ordenação por seleção)
-- Insertion sort (Ordenação por inserção)

- Os mais sofisticados como:


-- Count sort.
-- Quick sort.
-- Merge sort.
-- Heapsort.
-- Shell sort.
-- Radix sort.
-- Bucket sort.
-- Cocktail sort.
-- Entre outros...
-Bubble sort ou ordenação por flutuação:
É um dos mais simples algoritmos de ordenação. Ideia é percorre o vetor diversas
vezes, e a cada passagem fazendo o vetor subir de posição, por esse motivo se chama
algoritmos bolha, o vetor flutua de posição em posição.

- Como comparar dois objetos?


- Como definir que uma Pessoa é maior, menor ou igual ao outro.
-----------------------------------------------------------------------------------
---------------------------------------
09/03.

-SELETION-SORT:
SeletionSort, ou ordenação por seleção, esse algoritmo de ordenação procura
sempre passa o menor valor de vetor para a primeira posição, depois o de segundo
menor valor parta a segunda posição, e assim é feitor sucessivamente.

-INSERTION SORT:
Ordenação por inserção, este algoritmo de ordenação é simples e eficiente
quando aplicado a um pequeno número de elementos pouco desordenados, em outras
palavras o InsetionSort, é muito eficiente para pequenas ordenações. Em geral ele
percorre um vetor de elementos da esquerda para a direita e à medida que avança vai
deixando os elementos mais à esquerda ordenados. Um exemplo que podemos dar é
quando uma pessoa ordena cartas de baralho.

-COUNT SORT:
A ordenação por contagem é um método muito simples e eficiente, porem ele
só pode ser usado para ordenar números, o método consiste em contar quantos
elementos são menores que o examinado, este úmero será o índice do elemento durante
a sua ordenação.
-----------------------------------------------------------------------------------
---------------------------------------
10/03.

-QUICK SORT:
O QuickSort é um método de ordenação muito rápido e eficiente.
Sua desvantagem é que se trata de um método não estável ( isto é, dados iguais
podem ficar fora da ordem original de entrada).

1. Escolher um elemento da lista, denominado pivô.


2. Reorganizar a lista para que todos os elementos anteriores ao pivô sejam menores
que ele, e todos posteriores a ele sejam maiores que ele.
3. Recursivamente ordenar a sub-lista dos elementos menores e a sub-lista dos
elementos maiores.
4. A base da recursão são as listas de tamanho zero ou um, que estão sempre
ordenadas. O processo é finito, pois a cada iteração(repetição de uma ou mais
ações, refere se a instancia da ação) pelo menos um elemento é posto em sua posição
final e não será mais manipulado na iteração seguinte.

Gif exemplificando o processo:


https://3.bp.blogspot.com/-6e1hp4vtW2A/W5OGy25HrgI/AAAAAAAADrU/aaM5W--
ufugeDxMvLW3iGCIS5HjXkDcDwCLcBGAs/s1600/quick_sort_partition_animation.gif

___________________________________________________________________________

- Merge Sort:
Merge sort ou ordenação por intercalação, é um exemplo de algoritmo de ordenação
do tipo dividir para conquistar. Em resumo esse método divide os números em grupos
de ordenação, em seguida ele ordena cada item de cada grupo e junta os grupos que
já estarão ordenados.
- GIF EXPLICANDO: https://en.wikipedia.org/wiki/File:Merge-sort-example-300px.gif
___________________________________________________________________________

- Tipos de estruturas de dados.


1. Estruturas estáticas: podem armazenar até uma quantidade fixa de elementos.

2. Estruturas Dinâmicas: Lista, Estruturas criadas para evitar o desperdício de


memória, alocando apenas o espaço necessário para seus dados.

3. Listas Encadeadas: Acessa os elementos de modo sequencial, ou seja, um por vez.


Nisso, cada elemento passa duas informações: o seu valor e onde está o próximo
elemento.

Você também pode gostar