¿Cuál es la intuición detrás del algoritmo de clasificación rápida de múltiples claves?

Es algo obvio si alguien se molestaría en explicarlo claramente.

  1. Rellene todas las cadenas a la misma longitud (probablemente con caracteres nulos).
  2. Use la selección rápida de 3 vías para ordenar las cadenas en el carácter d-ésimo, donde d es inicialmente 0.

Quizás la única innovación es que, donde la selección rápida de 3 vías dejaría todos los elementos iguales al pivote solo mientras clasifica recursivamente las particiones “antes” y “después”, este algoritmo continúa y clasifica recursivamente estos elementos en d + 1-th carácter, pero esto es requerido por la definición de ordenamiento lexicográfico y es lo obvio que haría si alguien le dijera “ordenar rápidamente esas cadenas en orden lexicográfico carácter por carácter”.

Entonces, la intuición se reduce a “ordenar las cuerdas de la misma manera que lo haría en la vida real si usara la clasificación rápida”.