Capa do Ebook gratuito Curso completo de Lógica de Programação para iniciantes

Curso completo de Lógica de Programação para iniciantes

3.83

(6)

83 páginas

Algoritmos de Ordenação

Capítulo 78

Tempo estimado de leitura: 3 minutos

+ Exercício
Audio Icon

Ouça em áudio

0:00 / 0:00

Um dos tópicos mais cruciais no curso completo de Lógica de Programação para iniciantes é o estudo dos Algoritmos de Ordenação. Ordenação é um problema clássico e fundamental em ciência da computação. Ordenar significa dispor elementos de um conjunto em uma sequência específica. No contexto da programação, a ordenação é o processo de reorganizar um conjunto de dados (como um array) de maneira ascendente (do menor para o maior) ou descendente (do maior para o menor).

Existem vários algoritmos de ordenação e cada um deles possui suas peculiaridades, vantagens e desvantagens. Vamos discutir alguns dos mais comuns e importantes algoritmos de ordenação.

1. Bubble Sort

O Bubble Sort, ou Ordenação por Flutuação, é um dos algoritmos de ordenação mais simples. Ele funciona repetindo o processo de passar pela lista a ser ordenada, comparando cada par de itens adjacentes e trocando-os se estiverem na ordem errada. Este processo é repetido até que a lista esteja ordenada.

2. Selection Sort

O Selection Sort, ou Ordenação por Seleção, é outro algoritmo de ordenação simples. Ele funciona dividindo a lista a ser ordenada em duas partes: a parte ordenada e a parte não ordenada. Inicialmente, a parte ordenada está vazia e a parte não ordenada contém todos os elementos. O algoritmo funciona encontrando o menor (ou maior, dependendo da ordem de ordenação) elemento na parte não ordenada e trocando-o com o primeiro elemento não ordenado, movendo a fronteira entre as partes ordenada e não ordenada.

3. Insertion Sort

O Insertion Sort, ou Ordenação por Inserção, é um algoritmo de ordenação que funciona de maneira semelhante à maneira como as pessoas ordenam cartas de baralho em suas mãos. O algoritmo divide a lista em uma parte ordenada e uma parte não ordenada. A parte ordenada começa com o primeiro elemento da lista. Em cada iteração, o algoritmo remove um elemento da parte não ordenada e o insere na posição correta na parte ordenada.

Continue em nosso aplicativo

Você poderá ouvir o audiobook com a tela desligada, ganhar gratuitamente o certificado deste curso e ainda ter acesso a outros 5.000 cursos online gratuitos.

ou continue lendo abaixo...
Download App

Baixar o aplicativo

4. Merge Sort

O Merge Sort, ou Ordenação por Fusão, é um algoritmo de ordenação que usa a abordagem de dividir para conquistar. Ele divide a lista a ser ordenada em duas metades, ordena as duas metades separadamente e depois as funde para obter a lista ordenada. O Merge Sort é um algoritmo estável e eficiente, com uma complexidade de tempo O(n log n).

5. Quick Sort

O Quick Sort, ou Ordenação Rápida, é um algoritmo de ordenação que também usa a abordagem de dividir para conquistar. Ele escolhe um elemento chamado pivô e particiona a lista em torno do pivô, de modo que os elementos menores que o pivô vão para a esquerda do pivô e os elementos maiores que o pivô vão para a direita do pivô. O Quick Sort então ordena as duas partições recursivamente. O Quick Sort é um dos algoritmos de ordenação mais rápidos, com uma complexidade de tempo médio de O(n log n).

Esses são apenas alguns dos muitos algoritmos de ordenação que existem. Cada um deles tem suas próprias vantagens e desvantagens e é adequado para diferentes tipos de problemas de ordenação. No curso completo de Lógica de Programação para iniciantes, você aprenderá mais sobre esses e outros algoritmos de ordenação, bem como quando e como usá-los efetivamente.

Agora responda o exercício sobre o conteúdo:

Qual dos seguintes algoritmos de ordenação funciona dividindo a lista a ser ordenada em duas partes: a parte ordenada e a parte não ordenada, onde inicialmente a parte ordenada está vazia e a parte não ordenada contém todos os elementos?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

O algoritmo de ordenação que funciona dividindo a lista em partes ordenada e não ordenada, começando com a parte ordenada vazia, é o Selection Sort. Ele continuamente move elementos da parte não ordenada para a parte ordenada, encontrando o menor elemento da parte não ordenada e colocando-o no final da parte ordenada.

Próximo capitúlo

Algoritmos de Busca

Arrow Right Icon
Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.