Es algo obvio si alguien se molestaría en explicarlo claramente.
- Rellene todas las cadenas a la misma longitud (probablemente con caracteres nulos).
- 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”.
- ¿Cuál es el curso / certificación mejor pagado disponible para estructuras de datos y algoritmo?
- Cómo implementar una cola de doble finalización sin una lista vinculada
- ¿Por qué no es posible encontrar la ruta más corta desde el vértice de origen a cualquier otro vértice si el gráfico contiene un ciclo?
- ¿Cuál es el mejor algoritmo para encontrar dos elementos iguales en una matriz?
- ¿Qué técnicas eficientes ha intentado rastrear un algoritmo o un código de programa manualmente, sin usar una computadora?