Bubble Sort in python
Nesta seção, forneceremos alguns detalhes sobre classificação de bolhas. Classificação de bolhas digitaliza iterativamente a lista, compara os itens e substitui os que estão fora de ordem. A lista é enviada repetidamente até que seja classificada. Este procedimento é repetido até que todos os valores em uma matriz ou lista sejam comparados. Se for necessário trocar em qualquer caso, os elementos serão trocados para classificar. Na classificação de bolhas, realizamos a verificação nas iterações com a ajuda de diferentes loops como os loops "for" e "while".
Cada iteração é normalmente chamada de "passe" na classificação. Isso é tudo sobre os detalhes de classificação de bolhas em Python. À medida que o processo de classificação continua, componentes menores (se estivermos classificando em ordem crescente) "bolha" no topo da lista e dá ao método uma classificação de comparação e seu nome.
Digamos que queremos organizar uma lista de itens de maneira ordenada que está em ordem aleatória. Considere a seguinte lista:
[56,2,6,22,9]
Para trocar dois componentes adjacentes se o primeiro valor for maior que o segundo, iteramos através da lista. O resultado é o seguinte:
[2,6,9,22,56]
Felizmente, agora você tem algum entendimento da classificação de bolhas. Agora, vamos discutir alguns exemplos de programação para uma melhor compreensão.
Exemplo 1:
Primeiro, discutimos o processo de classificação de bolhas com a ajuda de um exemplo simples. Com este programa de exemplo, você pode executar facilmente a classificação de bolhas em seus aplicativos Python. O código de referência deste exemplo é o seguinte. Consulte este código e tente entendê -lo linha por linha:
Definimos uma função que chamamos de processo de classificação de bolhas e o nome da função que é "bubble_sort". Nesta função, passamos a matriz que definimos para classificar. Aqui, a matriz é chamada "arr1". Tomamos outra variável chamada "num" e atribuímos o comprimento da matriz a esta variável. Agora, usamos um "para loop" que é usado para pesquisar o índice da lista que contém os diferentes tipos de elementos. Tomamos uma variável chamada "eu". Este loop verifica todos os elementos da matriz. Tomamos um loop usado para acessar cada elemento da matriz para pesquisar os elementos que um é maior e para comparar os elementos adjacentes. A externa “para loop” com a variável “i” é executada para “num” tempos, onde “num” é o comprimento da lista. A interna "para loop" com a variável "M" é executada de 0 a num-i-1.
Em cada iteração do Interior para Loop, comparamos o elemento atual (ARR1 [M]) com o próximo elemento (ARR1 [M+1]). No caso de o elemento atual ser maior que o próximo elemento, trocamos. Consequentemente, o maior elemento borbulha até a última posição na lista após cada iteração, seguida pelo segundo maior elemento durante a corrida subsequente e assim por diante. Este processo é repetido até que a lista seja classificada.
A matriz é classificada após o término do "para loop" externo. O tipo de bolha é um dos algoritmos de classificação mais simples, mas não é o mais eficiente por causa de sua complexidade do tempo O (n^2). Isso significa que o tempo que é tomado para classificar a matriz aumenta exponencialmente à medida que o número de elementos na matriz aumenta.
Saída:
A saída deste exemplo é a seguinte:
Exemplo 2:
Tomamos outro exemplo para sua ajuda. O código de referência deste exemplo está anexado no seguinte:
Aqui, no código anterior, vemos que primeiro definimos a função para o tipo de bolha chamado "bubblesorTray", no qual passamos uma matriz "arr" como um argumento de função. Depois disso, declaramos uma variável chamada "n" que armazena o comprimento de uma matriz.
Agora, usamos um loop "for" no qual inicializamos a variável "i" que limita o igual ao comprimento da matriz. Neste loop "para", usamos outro loop que leva o primeiro elemento de uma matriz. O alcance desse loop é menor que o valor do índice. Aqui, comparamos os valores de matriz adjacente. Se o valor da matriz for maior que o próximo valor de uma matriz, trocamos os valores e retornamos esses valores da matriz ao parâmetro de função.
Então, dessa maneira, podemos executar a classificação. Por fim, inicializamos a matriz em que aplicamos o armazenamento de bolhas. Passamos a função em uma declaração de impressão para o resultado exibido na tela. A matriz é organizada em ordem decrescente nesta implementação. O loop externo itera através da matriz e o loop interno compara e troca os elementos adjacentes se não forem armazenados.
Para exibir a saída, passamos a função na declaração de impressão. O "list_element" é inicializado com uma matriz em que executamos o tipo de bolha.
Saída:
A saída desta matriz é anexada no seguinte:
Conclusão
Podemos dizer que a Bubble Sort usa uma lógica direta que funciona repetindo os elementos adjacentes, se não estiverem na ordem correta e que o algoritmo de classificação de bolhas não tenha um bom desempenho quando a matriz ou a lista está em ordem inversa e todos os elementos das matrizes não são classificados. Esse tipo de classificação é mais poderoso para fins acadêmicos, como pesquisar e executar tarefas diferentes. Felizmente, agora você entende esse tipo de classificação no Python. Você pode implementar facilmente esses códigos de exemplo em seu aplicativo Python para obter mais clareza.