# data[].attributes.body
A ideia do  Bubble sort  é percorrer o vetor diversas vezes, e a cada passagem fazer flutuar para o topo o maior elemento da sequência.

Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo.

A complexidade desse algoritmo é de ordem quadrática.

# data[].attributes.body
visualize a ordenação do bubble sort em detalhes

# data[].attributes.attachment_link.title
Bubble Sort visualize | Sorting | Algorithms | HackerEarth

# data[].attributes.attachment_link.description
Detailed tutorial on Bubble Sort to improve your understanding of {{ track }}. Also try practice problems to test & improve your skill level.

# data[].attributes.attachment_link.title
Bubble-sort with Hungarian ("Csángó") folk dance

# data[].attributes.body
Não há recorrência para o algoritmo, pois ele é iterativo, logo não-recursivo.

# data[].attributes.headline
Exemplo: ordenação em um vetor de  7 elementos

# data[].attributes.subject
Exemplo: ordenação em um vetor de  7 elementos

# data[].attributes.body
Algoritmo in-place, estável e de ordenação interna
Paradigma:  Ordenação por troca
Classe: Algoritmo de ordenação
Estrutura de dados: Array, Listas ligadas

# data[].attributes.body
Simples de entender e implementar.

Uma desvantagem é que na prática ele tem execução lenta mesmo quando comparado a outros algoritmos quadráticos (n² ).

Tem um número muito grande de movimentação de elementos, assim não deve ser usado se a estrutura a ser ordenada for complexa.

# data[].attributes.body
Tabelas muito pequenas

Quando se sabe que a tabela está quase ordenada

Demonstrações didáticas

# data[].attributes.body
Método do experimento:

Lista ordenada de modo crescente

Lista ordenada de modo decrescente

Lista desordenada (elementos gerados de forma aleatória)

Análises com:

10000, 100000, 1000000, 10000000 elementos

Métrica de Avaliação:

Tempo, número de operações e número de comparações

Configuração da máquina:

Os experimentos foram feitos no colab

Extra:

Comparação de desempenho com os seguintes algoritmos: Cocktail Sort, Comb Sort e Odd-Even Sort

# data[].attributes.attachment_link.title
BubbleSort, demonstração do método da bolha em JavaScript | Ordenação de Dados

# data[].attributes.attachment_link.title
sorting with php | bubble algorithm in php | data structure with php | top php

# data[].attributes.headline
Vídeo explicativo + implementação em python3

# data[].attributes.subject
Vídeo explicativo + implementação em python3

# data[].attributes.body
A complexidade do algoritmo é:

Melhor caso = O(n)
Caso médio = O(n²)
Pior caso  = O(n²)

Logo o algoritmo é uma péssima opção para se utilizar caso tenha um grande número de entradas.

# data[].attributes.headline
Link para a planilha com a comparação completa dos algoritmos

# data[].attributes.subject
Link para a planilha com a comparação completa dos algoritmos

# data[].attributes.attachment_link.description
Create a new spreadsheet and edit with others at the same time -- from your computer, phone or tablet. Get stuff done with or without an internet connection. Use Sheets to edit Excel files. Free from Google.