Dev de Valor

Guia Completo para Criar o Algoritmo Bubble Sort com Exemplos em Pseudocódigo, Portugol e JavaScript

Neste artigo, você vai aprender a implementar o algoritmo Bubble Sort em diferentes etapas. Começaremos com um fluxograma para facilitar o entendimento visual, passaremos para o pseudocódigo, em seguida implementaremos o algoritmo em Portugol e JavaScript. Ao final, analisaremos o desempenho do algoritmo com base em um gráfico, além de um código para medir o tempo de execução.

Pré-requisitos

Antes de iniciar a implementação do Bubble Sort, é importante ter uma base nos seguintes conceitos:

Com esses fundamentos em mente, vamos avançar!

1. Fluxograma do Algoritmo Bubble Sort

Para facilitar o entendimento visual, abaixo está o fluxograma que descreve o funcionamento básico do algoritmo Bubble Sort:

SCR-20240922-jlrf.png

O fluxograma nos ajuda a visualizar o processo de comparação e troca de elementos até que todos estejam ordenados. A cada iteração, o maior elemento "bolha" para o topo da lista, reduzindo o escopo de busca a cada passada.

2. Pseudocódigo do Algoritmo Bubble Sort

Agora que você já visualizou o processo com o fluxograma, vamos ver o pseudocódigo:

inicio para cada elemento na lista: trocado = falso enquanto não estiver ordenado: para i de 0 até o penúltimo elemento: se lista[i] > lista[i + 1]: troca lista[i] com lista[i + 1] trocado = verdadeiro fim-se fim-para fim-enquanto fim

O pseudocódigo mostra a lógica do Bubble Sort. O laço enquanto repete o processo até que a lista esteja ordenada.

3. Implementação em Portugol

Abaixo, temos a implementação do Bubble Sort no Portugol, que você pode executar diretamente no :

Este algoritmo compara os elementos adjacentes e faz trocas quando necessário, até que a lista esteja completamente ordenada.

4. Implementação em JavaScript

Aqui está a implementação do Bubble Sort em JavaScript:

Esse código ordena uma lista de números, comparando pares adjacentes e trocando-os até que todo o array esteja ordenado.

5. Desempenho do Algoritmo (Gráfico)

A seguir, temos o gráfico que ilustra o desempenho do Bubble Sort:

DALL·E 2024-09-22 10.20.10 - A line chart displaying the performance of the Bubble Sort algorithm. The x-axis represents array sizes_ 10, 100, 500, 1000, 2000, 5000, and the y-axi.webp

Como você pode ver no gráfico, o tempo de execução do algoritmo aumenta de forma exponencial à medida que o tamanho do array cresce. Isso ocorre devido à complexidade O(n²) do Bubble Sort.

Agora, vamos medir o desempenho com um código JavaScript:

Esse código gera arrays de diferentes tamanhos, mede o tempo de execução do Bubble Sort e imprime os resultados no console.

Conclusão

Neste guia, exploramos o algoritmo Bubble Sort em várias etapas. Começamos com um fluxograma para ilustrar o funcionamento do algoritmo, seguimos com o pseudocódigo, e implementamos o algoritmo tanto em Portugol quanto em JavaScript. Analisamos o desempenho usando um gráfico de execução e implementamos uma solução para medir o tempo em JavaScript.

Embora o Bubble Sort seja um dos algoritmos mais simples de ordenação, ele não é o mais eficiente para grandes conjuntos de dados devido à sua complexidade O(n²). No entanto, aprender esse algoritmo é um excelente ponto de partida para entender conceitos mais avançados de ordenação e algoritmos em geral.