El External del que clasifica es un término genérico para una clase de que clasifica los algoritmos del que pueden manejar cantidades masivas de los datos . Se requiere la clasificación del External cuando los datos que son clasificados no caben en el de memoria principal de un dispositivo computacional (generalmente RAM ) y una clase más lenta de memoria (generalmente una impulsión dura ) necesita ser utilizada.

Ejecutada cuidadosamente, la clasificación del external puede ser sobre el terreno hecho (sin la espacio de disco adicional required).

Mergesort externo

Un ejemplo de la clasificación del external es el algoritmo externo de Mergesort . Por ejemplo, para clasificar 900 megabytes de datos usar solamente 100 megabytes de RAM: Leer MB 100 de los datos en de memoria principal y de la clase por un cierto método convencional (generalmente Quicksort ).
  • Escribir los datos clasificados al disco.
  • Repetir los pasos 1 y 2 hasta que todos los datos se clasifiquen en 100 pedazos del MB, que ahora necesitan ser combinados en un archivo de salida única.
  • Leer el primer MB 10 de cada pedazo clasificado (llamarlos los almacenadores intermediarios de entrada) en de memoria principal (MB 90 total) y asignar el MB restante 10 para el almacenador intermediario de salida.
  • Realizar un de 9 maneras que combina y almacenar el resultado en el almacenador intermediario de salida. Si el almacenador intermediario de salida es lleno, escribirlo al archivo clasificado final. Eventualmente de los 9 almacenadores intermediarios de entrada consigue vacío, lo llena del MB siguiente 10 de su pedazo clasificado 100 MB asociado o lo marca de otra manera según lo agotado si no hay datos en el pedazo clasificado y no lo utiliza para combinarse. Este algoritmo puede ser generalizado si se asume que la cantidad de datos que se clasificarán excede la memoria disponible por un factor del K . Entonces, los pedazos del K de datos necesitan ser clasificados y un K - la fusión de la manera tiene que ser terminada. Si el X es la cantidad de disponible de memoria principal, habrá almacenadores intermediarios de entrada del K y 1 almacenador intermediario de salida del X del tamaño/(el K +1) por cada uno. Dependiendo de los varios factores (cómo rápidamente la impulsión dura está, cuáles es el valor del K ) mejor el funcionamiento puede ser alcanzado si el almacenador intermediario de salida se hace más grande (por ejemplo dos veces más grande que un almacenador intermediario de entrada).

    En el ejemplo, una fusión single-pass fue utilizada. Si el cociente de datos a de memoria principal disponible es particularmente grande, una clasificación de pasos múltiples es preferible. Por ejemplo, la fusión solamente la primera mitad de los pedazos clasificados, entonces la otra mitad y ahora el problema se ha reducido a combinar apenas dos pedazos clasificados. El número exacto de pasos depende del cociente antedicho, así como las características físicas de la impulsión dura (tarifa de transferencia y tiempo que busca). En general, es desaconsejable realizar una fusión de more-than-20-to-30-way.

  • Zenithic
  • Adrenomedullin
    Random links:El municipio de Schoolcraft, condado de Kalamazoo, Michigan | Tirada Cadman | Lengua liberiana de Kreyol | Charles Spence | Explorador (cómic)

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">