O tipo de bolha é um dos algoritmos de classificação mais simples que compara dois itens lado a lado e classifica a matriz em ordem ascendente ou em ordem decrescente. Numerosos algoritmos estão disponíveis para classificar as matrizes, como classificação de seleção e classificação de mesclagem, etc. Neste artigo, aprenderemos a usar o tipo de bolha para classificar os elementos da matriz.
Vamos supor que temos uma matriz não classificada e somos solicitados a classificar a matriz em qualquer ordem pretendida (i.e. ascendente ou descendente). Depois, temos vários algoritmos de classificação, para classificar essa matriz como classificar bolhas, tipo de inserção, etc. Para esse fim, podemos usar qualquer um desses algoritmos, pois todos os algoritmos produzirão o mesmo resultado. Este artigo abordará o tipo de bolha com exemplos.
Trabalhando de tipo de bolha
Começa a funcionar comparando o índice esquerdo com o índice direito. Inicialmente, ele comparará os dois primeiros índices da matriz (o valor colocado no índice 0 será comparado com o valor colocado no índice 1). O valor do 0º índice será substituído apenas quando o 1º índice carregar um valor menor que o valor do 0º índice. Em seguida, ele comparará o valor do índice 1 com o valor do índice 2 e assim por diante.
Suponha que tenhamos a seguinte matriz não classificada:
Sabemos que na indexação de matrizes começa em 0. Então, inicialmente, no índice 0, o valor é 8. O valor do índice 1 é 3 e 1 é colocado no índice 3 e assim por diante. Agora, temos que classificar essa matriz em ordem ascendente, como mostrado na matriz abaixo de ser dada:
Agora, explicaremos o funcionamento da classificação de bolhas passo a passo.
Passo 1:
No começo, o índice 0 carrega 8 enquanto o índice 1 carrega 3. Como precisamos classificar a matriz em ordem ascendente, portanto, o valor do índice 0 será substituído pelo valor do índice 1. Agora, a matriz atualizada será:
Agora o valor do índice 1 será comparado com o valor do índice 2. O valor do índice 1 é 8, enquanto o valor do índice 2 é 1, que é menor que 8, por isso será trocado e a matriz será modificada como:
Agora, faremos uma comparação entre o índice 2 e o índice 3. O valor do índice 2 é 8, que é maior que o valor do índice 3, que é 2, de modo que os valores serão trocados:
Agora compare o valor do índice 3 com o valor do índice 4. No índice 3, o valor é 8, enquanto no índice 4 o valor é -1, o que significa que esses dois valores serão trocados:
Finalmente, o valor do índice 4 será comparado com o valor do índice 5. Novamente 8 é maior que 7, ele será substituído por 7:
Agora, a primeira iteração está completa e “8” atinge sua posição apropriada. Portanto, na próxima etapa, as comparações serão feitas até o 4º índice, pois o valor do último índice é classificado.
Passo 2:
Agora, os dois primeiros índices serão comparados. O valor do 1º índice é menor que o valor do 0º índice, portanto, os valores serão trocados:
Em seguida, compararemos o valor do 1º índice com o valor do 2º índice. Aqui, 3 é maior que 2, então, será substituído por 2:
Agora vamos comparar o valor do 2º índice I.e. 3 com o valor do 3º índice que é -1. Os valores serão trocados novamente, pois 3 é maior que -1:
O valor do 3º índice é menor que o valor do 4º índice, portanto, ele permanecerá o mesmo:
Agora os dois últimos índices são classificados e os valores são colocados corretamente nos 4º e 5º índices.
Etapa 3:
Agora, nesta iteração, inicialmente o valor do 0º índice será comparado com o valor do 1º índice. Aqui, o valor do 0º índice é 1, que é menor que o valor do 1º índice que é 2. Então, esses valores permanecerão os mesmos.
Em seguida, compare os próximos dois índices, aqui o valor do 1º índice é maior que o valor do segundo índice, portanto, seus valores serão trocados:
O valor do segundo índice é menor que o valor do 3º índice, portanto, seus valores não serão trocados:
Passo 4:
Compare os dois primeiros índices. O valor do 0º índice é -1, menor que o valor do 1º índice que é 1, para que seja trocado:
Em seguida, compararemos o valor do 1º índice com o valor do 2º índice. Eles já estão classificados, então permanecerão os mesmos:
Finalmente, nossa matriz é classificada em ordem ascendente.
Implementação do tipo de bolha em JavaScript
Como entendemos como o tipo de bolha funciona, agora implementaremos essa lógica em JavaScript usando loops aninhados:
função bubblesort (ary)No código acima, criamos uma matriz chamada 'Ary' e atribuímos alguns dados a ele. Então criamos uma função chamada bubblesort e passamos a matriz para ela. Uma variável chamada 'sinalizador' é inicialmente atribuída com um valor 'false'. Em seguida, o loop for inicializado com o 0 e será executado até que seja menor que o comprimento da matriz. Os loops aninhados são utilizados para fazer uma comparação do valor no índice atual com o valor no índice adjacente, os valores serão trocados apenas se o valor do índice atual for maior que o valor presente em seu índice adjacente. O valor da bandeira será substituído por verdadeiro se um valor for trocado durante a iteração. Finalmente, a matriz é chamada usando a função BubbleSort. A saída será:
Conclusão
Bubble Sort é um algoritmo básico de classificação que troca os elementos lado a lado repetidamente até que não estejam em ordem adequada. Neste artigo, apresentamos todo o básico e conhecimento essencial necessário para entender o conceito de tipo de bolha em JavaScript. Começando com a introdução que descreveu o que é o tipo de bolha e como funciona. Então tivemos um exemplo para entender o conceito de tipo de bolha. Além disso, implementamos o mesmo exemplo em JavaScript e discutimos seu trabalho em detalhes.