El uso de un tipo de combinación en Python puede acelerar tareas de clasificación.
PYTHON
Ordenar listas de datos es un problema que ha irritado programadores desde el inicio de la programación informática. Clasificación cualquier lista de datos puede terminar como un recuerdo y que requiere mucho tiempo la tarea. Debido a esto, diferentes métodos de clasificación han sido inventados para reducir al mínimo el desafío y el esfuerzo de clasificación. Un método es combinar clasificación. Se subdivide una lista recursiva en elementos singulares y recombina la lista en forma ordenada. Cualquier lenguaje de programación que soporta recursión, como Python, se puede implementar un tipo de combinación.
Lo que necesita
Python Interpreter con el entorno de desarrollo interactivo
Definir la función "mergesort". Esta función básica llama a sí mismo de forma recursiva, dividiendo el tamaño de la lista por la mitad con cada llamada. Una vez que la función mergesort golpea una lista con un solo elemento, la repetición se detiene y los rendimientos de los elementos. Como se desenrolla la recursividad mergesort, cada lista más pequeña se fusionaron de forma ordenada. En este ejemplo se muestra una función básica mergesort que toma una lista como argumento:
def mergesort (li):
. . . si len (li) 2:
. . . volver li
. . . mid = len (li) / 2
. . . primero = mergesort (li [: mitad])
. . . last = mergesort (li [media:])
. . . volver fusionar (nombre, apellido)
Establecer el método de combinación. Esta función servirá como el método de clasificación, sino que devuelve una lista ordenada de elementos. El método de combinación tiene dos listas-ya ordenados. A continuación, se define una lista interna "ordenado" que representará a las listas de argumentos ordenados combinados. El método de combinación logra esto mediante la adopción de la menor elemento e insertarlo en una nueva lista de "ordenar". Una vez que una de las listas termina, la otra lista se inserta en su totalidad.
def fusión (x, y):
. . . ordenados = []
Combinar las listas en el método de combinación. El bucle "mientras" en el ejemplo compara cada elemento de la lista por partida, teniendo el elemento más pequeño e insertarlo en una nueva lista de "ordenar". Una vez que una de las listas termina, la otra lista se inserta en su totalidad, y se devuelve la nueva lista ordenada:
. . . i, j = 0, 0
. . . mientras i len (x) yj len (y):
. . . si x [i] = y [j]:
. . . sorted.append (x [i])
. . . i + = 1
. . . más:
. . . sorted.append (y [j])
. . . + j = 1
. . . ordenados + = x [I]
. . . ordenados + = y [J]
. . . volver ordenados
No hay comentarios:
Publicar un comentario