2009-11-23 15 views

Respuesta

14

Como ordenamiento por mezcla, clasificación rápida también puede ser fácilmente parallelized debido a su naturaleza de divide y vencerás. Las operaciones individuales de partición in situ son difíciles de paralelizar, pero una vez divididas, las diferentes secciones de la lista se pueden ordenar en paralelo.

Una de las ventajas del QuickSort paralelo en comparación con otros algoritmos de ordenamiento en paralelo es que no se requiere sincronización. Se inicia un nuevo hilo tan pronto como hay una sublista disponible para que funcione y no se comunica con otros hilos. Cuando se completan todos los hilos, el ordenamiento está hecho.

http://en.wikipedia.org/wiki/Quicksort

+1

+1: Quicksort no requiere sincronización una vez dividida. Mergesort requiere sincronización para fusionarse. –

+0

"Una ventaja del sistema rápido paralelo en comparación con otros algoritmos de ordenamiento en paralelo es que no se requiere sincronización". Err, no. Obviamente, debe esperar a que se completen las subtareas antes de devolver la respuesta, que es la sincronización. –

4

creo ordenamiento por mezcla

se puede dividir el conjunto de datos y realizar operaciones paralelas en ellos ..

+0

+1 aunque su nick me asusta. – Will

+8

mi nombre es Ufuk Gün, pero en inglés suena gracioso :) – ufukgun

+1

Mergesort requiere sincronización entre hilos para fusionar los resultados de clasificación. Quicksort no necesita ninguna sincronización de hilos. –

9

Depende completamente del método de paralelización. Para la informática general multiproceso, una clasificación por fusión proporciona propiedades de equilibrio de carga y localización de memoria bastante confiables. Para un gran sorting network en hardware, una forma de tipo Batcher, Bitonic o Shell es realmente mejor si quieres un buen rendimiento de O (log² n).

+0

+1 por ser la única respuesta correcta aquí. –

1

Creo que Merge Sort sería la mejor respuesta aquí. Porque la idea básica detrás del tipo de fusión es dividir el problema en soluciones individuales. Solucionarlas y fusionarlas.

Eso es lo que realmente hacemos en el procesamiento paralelo también. Divida todo el problema en pequeñas declaraciones de unidades para calcular paralelamente y luego unir los resultados. Gracias

0

Es tipo de fusión ya que la clasificación se realiza en dos matrices secundarias y se comparan y ordenan al final. estos se pueden hacer en paralelo

+0

No creo que sea necesario duplicar las respuestas existentes. – Mysticial

Cuestiones relacionadas