Hola.
Si buscas velocidad de ordenamiento sobre un arreglo, por sencillez, pensaría en el algorítmo
QuickSort.
Usando inserción, por mas que optimices la búsqueda del índice donde el elemento deberá ser insertado, no podrás evitar tener que hacer : N - posición desplazamientos. Imagina que en algún punto ya existen 1000000 elementos ordenados en el arreglo, vg:
Código:
[1,3,3,4,5,6,6,7,7, ... ,979827,992799,993256]
Entonces aparece el número 2... la búsqueda determina que corresponde insertar el próximo elemento en la segunda posición del arreglo. ¡ Ahora tendrá que efectuar 1000000-2 desplazamientos para hacerle lugar !
Y dado que desplazar posiciones de memoria es una taréa bastante lenta, no veo al método como el candidato mas veloz.
Otras opciones que te podrían resultar interesantes:
Por último, si no necesitas tener los datos físicamente ordenados, podría servirte:
Tabla hash
Saludos
