Neste artigo, vamos aprender sobre um algoritmo de classificação de mesclagem. Merge Sort é um método popular de classificação de divisão e conquista. A classificação de mesclagem é amplamente usada devido à sua velocidade na classificação dos dados. É uma das melhores ilustrações de como dividir e conquistar algoritmos que podem ser usados na prática. Merge Sort separa uma lista de dados em duas metades e, em seguida, chama esses subpartes para dividi -los ainda mais em duas metades. Ele repete a operação até que cada componente da lista tenha apenas um elemento. Ao classificar essas subpartes de um elemento em dois componentes, ele mais tarde os fundirá. Após a classificação, a subparte de dois elementos estará vinculada aos outros dois componentes. Este procedimento é repetido até que a lista final de elementos seja obtida invocando a função repetidamente.
A ilustração básica do tipo de mesclagem é dada no exemplo a seguir:
Código Python: O código Python a seguir é para o algoritmo de classificação de mesclagem:
Def Merge_sort (ListedList):
Se Len (Listlist)> 1:
Mid = Len (Listlist) // 2
Lista de esquerda = Unsutedlist [: Mid]
RightList = UnsutedList [MID:]
# Chamada recursiva quando formos duas listas (esquerda e direita) para classificar
Merge_sort (Lista de esquerda)
Merge_sort (Lista Right)
# Porque temos duas listas, então precisamos para iteradores para iteração de cada lista
M = 0
n = 0
# Precisamos de um iterador comum que itera para a lista principal
z = 0
enquanto m < len(leftList) and n < len(rightList):
Se lista de esquerda [M] <= rightList[n]:
# Aqui estamos usando os primeiros elementos do lado esquerdo
Lista Unsuted [Z] = Lista de Espaços [M]
# Incremento o iterador principal
M += 1
outro:
Lista Unsuted [Z] = RightList [N]
n += 1
z += 1
# Se os valores forem deixados na lista, então processamos aqui
enquanto m < len(leftList):
Lista Unsuted [Z] = Lista de Espaços [M]
M += 1
z += 1
enquanto n < len(rightList):
Lista Unsuted [Z] = RightList [N]
n += 1
z += 1
Unsutedlist = [23,56,0,23,85,100,200,12,32,78,90,102]
Merge_sort (Listlist)
Impressão (Lista Unsuteada)
Saída:
[0, 12, 23, 23, 32, 56, 78, 85, 90, 100, 102, 200]
Esta é a maneira recursiva de mesclar a implementação de classificação. Aqui estão as etapas a seguir para obter a matriz classificada usando este método:
Complexidade do tempo:
A complexidade do tempo do tipo de mesclagem depende de dois fatores:
- O fator dividido da lista que leva log (n)
- O segundo fator mescla a lista dos dois, que leva tempo linear, então sua complexidade é O (n)
Assim, a complexidade total é baseada nos dois fatores anteriores do tipo de mesclagem é O (n.logn).
Vantagens do algoritmo de classificação de mesclagem:
- A classificação de mesclagem simplifica a classificação de conjuntos de big data.
- Merge Sort pode acessar dados em ordem, portanto o acesso aleatório não é necessário.
- A classificação de mesclagem é um método de classificação confiável.
Desvantagens do algoritmo de classificação de mesclagem:
- O tipo de mesclagem requer uma matriz de tamanho semelhante para classificar a lista, que é uma desvantagem do uso da memória.
- Ao classificar conjuntos de dados menores, leva mais tempo.
Conclusão:
A classificação de mesclagem é um método de classificação rápido e versátil. Seu principal benefício é o tempo de execução e a eficiência do algoritmo enquanto classifica grandes matrizes. Comparado à classificação rápida, ele não depende de julgamentos defeituosos que resultem em horários longos. O tipo de mesclagem é o melhor algoritmo para classificar os elementos. No entanto, a principal desvantagem do tipo de mesclagem é que ela usa muita memória antes de mesclar os elementos. Também é muito útil para futuras engenharia de software, onde eles podem criar mais algoritmos de classificação com base no método de dividir e conquista.
Vimos o exemplo padrão da classificação de mesclagem sem codificar primeiro para entender como essa analogia funciona e depois implementamos etapas semelhantes na programação python. Agora, estamos cientes da tecnologia de divisão e conquista do tipo de mesclagem. Esperamos que você tenha achado este artigo útil. Confira o Linux Dint para obter mais dicas e informações.