Programação  
 
Conhecimento computador >> Programação >> Programação Python >> 
Como mesclar um Sort em Python
Classificação de listas de dados é um problema que tem atormentado os programadores desde o início da programação de computadores. Classificando qualquer lista de dados pode acabar como uma memória e demorada tarefa. Devido a isso , os diferentes métodos de classificação têm sido inventados para minimizar o desafio e esforço de triagem . Um método é fundir classificação. Subdivide uma lista recursivamente em elementos singulares e recombina a lista de forma ordenada. Qualquer linguagem de programação que suporta recursão , como Python, pode implementar uma espécie de mesclagem. Coisas que você precisa
Python Interpreter com Ambiente de desenvolvimento interativo
Show Mais instruções
1

Defina a função " mergesort " . Esta função básica se chama recursivamente , dividindo o tamanho da lista ao meio com cada chamada. Uma vez que a função mergesort atinge uma lista com um elemento, a recursão pára eo elemento retornos. Como a recursão mergesort desenrola , cada lista menor é mesclados em ordem de classificação. Este exemplo mostra uma função mergesort básica que recebe uma lista como um argumento :

>>> def mergesort ( li ) :

. . . if len ( li ) < 2:

. . .
retorno li

. . . mid = len ( li ) /2

. . . primeiro = mergesort ( li [ : meados ] )

. . . last = mergesort ( li [ mid: ] )

. . . merge voltar ( first, last)
2

Configure o método de mesclagem. Esta função irá servir como o método de classificação , que retorna uma lista ordenada de elementos. O método merge leva duas listas já classificadas . Em seguida, define uma lista interna " ordenado" que irá representar as listas de argumentos ordenados combinados . O método merge realiza esta tomando o menor elemento e inseri-lo em uma nova lista de " ordenado". Uma vez que uma das listas termina , a outra lista é inserido em sua totalidade

>>> def fundir (x, y): .

. . . = ordenados []
3

Mesclar as listas no método de mesclagem. O loop "while" no exemplo compara cada item da lista por item, levando o menor elemento e inseri-lo em uma nova lista de " ordenado". Uma vez que uma das listas termina , a outra lista é inserido em sua totalidade, ea nova lista ordenada é retornada :

. . . i, j = 0, 0

. . . enquanto i < len (x) e j < len ( y):

. . . se x [i] < = y [j] :

. . . sorted.append (x [i])

. . . i + = 1

. . . outra coisa :

. . . sorted.append (y [j] )

. . . j + = 1

. . . classificadas + = x [ I: ]

. . . classificadas + = y [ : j ]

. . . voltar classificadas

Anterior :

Próximo : No
  Os artigos relacionados
·Como fazer instruções if-then em Python 
·Como Abrir CMD no fundo com Python 
·Como usar o Python para verificar se um banco de dados …
·Como se livrar de Suportes em Python Matriz 
·Erros de Unicode em Python 
·Erros não numéricos portuárias em Python 
·Como manter um total de execução de uma variável em …
·Como compilar Python em um terminal UNIX 
·O que é o Python para Windows PC 
·Funções Python Carga 
  Artigos em destaque
·Como executar código Python 
·Como usar o Java para ler Excel 
·Como adicionar uma matriz para uma matriz em MATLAB 
·Como carregar arquivos DLL 
·Como dividir uma string em Letras em Java 
·Como bloquear subdomínios em PHP 
·Como inserir uma linha usando REXX 
·Como faço para criar diagramas de Estado 
·Como exibir arquivos de um Selecionado Tree View Node e…
·Como INT em C + + para os números reais 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados