¿Qué algoritmo de clasificación se usa en C # collection.sort () y por qué?

Hay dos sitios increíbles en internet. Google puede preguntar cualquier cosa y Stack Overflow, que es un repositorio de preguntas de programación. De todos modos, la respuesta a su pregunta, desde el propio sitio de Microsoft:

List (T) .Sort Method (System.Collections.Generic)

  • Si el tamaño de la partición es inferior a 16 elementos, utiliza un algoritmo de clasificación de inserción.
  • Si el número de particiones excede 2 * LogN, donde N es el rango de la matriz de entrada, utiliza un algoritmo Heapsort.
  • De lo contrario, utiliza un algoritmo Quicksort.

Esta implementación realiza una ordenación inestable; es decir, si dos elementos son iguales, su orden podría no conservarse. Por el contrario, una ordenación estable conserva el orden de los elementos que son iguales.

En promedio, este método es una operación O ( n log n ), donde n es Count; en el peor de los casos, es una operación O ( n ^ 2).