Programar em C/Algoritmos de ordenação: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 34:
 
=Bubble sort =
{{Info/Algoritmo
|classe =[[Algoritmo de ordenação]]
|imagem =
|estrutura =[[Array]], [[Lista ligada|Listas ligadas]]
|data =
|melhor_caso =<math>O(n)</math>
|caso_medio =<math>O(n^2)</math>
|pior_caso =<math>O(n^2)</math>
|complexidade =<math>O(1)</math> auxiliar
}}
 
O '''''bubble sort''''', ou ordenação por flutuação (literalmente "por bolha"), é um [[algoritmo de ordenação]] dos mais simples. A ideia é percorrer o [[vector]] diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um [[Tanque (reservatório)|tanque]] de água procuram seu próprio nível, e disso vem o nome do algoritmo.
 
No melhor caso, o algoritmo executa <math>n^2</math> operações relevantes, onde ''n'' representa o número de elementos do [[vector]]. No pior caso, são feitas <math>n^2</math> operações. A [[complexidade]] desse [[algoritmo]] é de [[Ordem quadrática]]. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados.
=== [[C]] ===
<source lang="c">