logistica - sorting meaning
¿Qué es un orden natural cuando hablamos de clasificación? (4)
¿Qué se entiende por ordenamiento natural? Supongamos que tengo un objeto Employee con el nombre, la edad y la fecha de incorporación, clasificándolos por orden natural.
El ordenamiento natural es una especie de género alfanumérico que parece natural para los humanos.
En un género alfanumérico clásico tendremos algo así como:
1 10 11 12 2 20 21 3 4 5 6 7
Si usa el orden Natural, será:
1 2 3 4 5 6 7 10 11 12 20 21
Dependiendo del idioma, el orden natural a veces ignora mayúsculas y acentúa uno (es decir, todas las letras acentuadas se tratan como su contraparte no acentuada).
Muchos idiomas tienen una función para ordenar una Cadena de forma natural. Sin embargo, un empleado es demasiado "alto nivel" para el idioma, debe decidir lo que significa para usted ordenarlos de forma natural y crear la función correspondiente.
Desde mi punto de vista, ordenar al empleado comenzará ordenando por nombre usando un tipo natural, luego la edad y finalmente la fecha de unión.
Según las estadísticas, hay dos tipos de variables categóricas. Variables que tienen categorías sin un orden numérico (nominal) y aquellas que sí tienen categorías ordenadas (ordinales). El ejemplo del nombre, la edad y la fecha de incorporación de un empleado se considera en realidad una variable nominal, por lo que no se puede ordenar por ordenamiento natural. El ordenamiento natural podría existir, por ejemplo, en la edad en que lo categorizaste en niveles de niño, adolescente, adulto, en el que se puede observar un tipo de clasificación ascendente.
Para Java, el orden proporcionado por la interfaz Comparable se denomina ordenamiento natural, por lo que la interfaz del Comparador proporciona, por así decirlo, un orden no natural.
Para cuerdas que contienen números significa 1,2,3,4,5,6,7,8,9,10,11
lugar de 1,10,11,2,3,4,5,6,7,8,9
Si alguien como yo se encuentra leyendo el siguiente artículo:
https://www.copterlabs.com/natural-sorting-in-mysql/
(que por cierto es realmente útil), ten cuidado porque ese es otro método de clasificación.
Un algoritmo de ordenamiento natural correcto indica que usted ordena alfabéticamente, pero cuando encuentra un dígito, ordena ese dígito y todos los dígitos subsiguientes como un solo carácter.
La clasificación natural no tiene nada que ver con la clasificación por longitud de cadena primero, y luego alfabéticamente cuando dos cadenas tienen la misma longitud. Aunque el artículo que relacioné es interesante, no cometa el error que cometí y piense que esa es la forma correcta de ordenarlo de forma natural.