Classificação por bolhas vs Seleção por seleção
A classificação por bolha é um algoritmo de classificação que opera percorrendo a lista a ser classificada repetidamente enquanto compara pares de elementos adjacentes. Se um par de elementos estiver na ordem errada, eles serão trocados para colocá-los na ordem correta. Este percurso é repetido até que não sejam necessários mais swaps. A classificação por seleção também é um algoritmo de classificação, que começa encontrando o elemento mínimo na lista e trocando-o pelo primeiro. Esse processo é repetido para o restante da lista, colocando os elementos trocados em ordem.
O que é o Bubble Sort?
A classificação por bolha é um algoritmo de classificação que opera percorrendo a lista a ser classificada repetidamente enquanto compara pares de elementos adjacentes. Se um par de elementos estiver na ordem errada, eles serão trocados para colocá-los na ordem correta. Esse percurso é repetido até que não sejam necessários mais swaps (o que significa que a lista é classificada). Como os elementos menores da lista chegam ao topo quando uma bolha vem à superfície, ele recebe o nome de classificação da bolha. A classificação por bolha é um algoritmo de classificação muito simples, mas possui uma complexidade média de tempo de processamento de O (n2) ao classificar uma lista com n elementos. Por esse motivo, a classificação por bolhas não é adequada para classificar listas com um grande número de elementos. Porém, devido à sua simplicidade, o tipo de bolha é ensinado durante a introdução de algoritmos.
O que é Seleção de Seleção?
A classificação por seleção também é outro algoritmo de classificação que começa encontrando o elemento mínimo na lista e trocando-o pelo primeiro. Em seguida, o elemento mínimo é encontrado no restante da lista (do segundo elemento até o último elemento da lista) e trocado pelo segundo elemento. Esse processo é repetido para o restante da lista, colocando os elementos trocados em ordem. Portanto, na classificação por seleção, em qualquer etapa do algoritmo, a lista é dividida em duas partes, onde uma parte contém elementos classificados e a outra parte contém elementos não classificados. À medida que o algoritmo prossegue, a lista classificada cresce da esquerda para a direita. A classificação de seleção também possui uma complexidade média de tempo de processo de O (n2). Portanto, também não é adequado para classificar listas grandes.
Qual é a diferença entre Classificação da bolha e Classificação da seleção?
Embora os algoritmos de classificação por bolha e de seleção por seleção tenham complexidades médias de O (n2), a classificação por bolha é quase sempre superada pela classificação por seleção. Isso ocorre devido ao número de trocas necessárias pelos dois algoritmos (as classificações de bolhas precisam de mais trocas). Porém, devido à simplicidade da classificação por bolhas, seu tamanho de código é muito pequeno. A estabilidade é outra diferença nesses dois algoritmos. Um algoritmo de classificação estável, é um algoritmo de classificação que retém a ordem dos registros se a lista contiver elementos com um valor igual. Nesse sentido, a classificação por seleção não é um algoritmo estável, enquanto a classificação por bolhas é um algoritmo estável.