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">
|