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.¿Qué es un orden natural cuando hablamos de clasificación?
Respuesta
ordenamiento natural es una especie de tipo alfanumérico que parece natural para los seres humanos.
En una especie alfanumérica clásica vamos a tener algo como:
1 10 11 12 2 20 21 3 4 5 6 7
Si está utilizando ordenamiento natural, será:
1 2 3 4 5 6 7 10 11 12 20 21
Dependiendo del idioma, a veces ignoran ordenamiento natural Mayúsculas y acentuación (es decir, todas las letras acentuadas se tratan como su contraparte no acentuada).
Muchos idiomas tienen una función para ordenar una cadena naturalmente. 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, el pedido del empleado comenzará ordenando por nombre utilizando 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 las cadenas que contienen los números que significa 1,2,3,4,5,6,7,8,9,10,11
en lugar de 1,10,11,2,3,4,5,6,7,8,9
¿Esto se trata solo de cadenas? ¿Un objeto con solo fecha y edad no tiene un orden natural? – vinoth
Una fecha generalmente se ordena como si fuera una cadena 'aaaa-mm-dd'. En este caso, no es necesario realizar una clasificación "natural", como ya se hizo, ya que los números pequeños tienen ceros a la izquierda. – ThiefMaster
Además, diferentes idiomas tienen diferentes reglas de clasificación o colaciones, por lo que el orden natural depende. Ver [Wikipedia] (http://en.wikipedia.org/wiki/Collation) – vonPryz
Si alguien como yo se encontró leer el siguiente artículo:
https://www.copterlabs.com/natural-sorting-in-mysql/
(que por cierto es muy útil), ten en cuenta que debido a eso es otro método de clasificación.
Un algoritmo de ordenamiento natural correcto indica que se ordena alfabéticamente, pero cuando se encuentra con un dígito, se ordena ese dígito y todos los dígitos posteriores 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.
- 1. LINQ y un orden de clasificación natural
- 2. IComparer para clasificación natural
- 3. Clasificación natural para SQL Server?
- 4. ¿Cómo realizar la clasificación natural?
- 5. ¿Cómo ordena MongoDB los registros cuando no se especifica un orden de clasificación?
- 6. Comparación de cadenas de orden de clasificación natural en Java: ¿está integrado?
- 7. Algoritmo de clasificación natural en PHP con soporte para Unicode?
- 8. orden de clasificación parcial?
- 9. jqGrid orden de clasificación predeterminado?
- 10. clasificación unix orden descendente
- 11. LXML - Ordenar orden de clasificación
- 12. Cuando hablamos de lenguajes de programación, ¿cuál es la definición de Magia?
- 13. Clasificación natural (humano alfanumérico) en Microsoft SQL 2005
- 14. ¿Qué es un chunker en Procesamiento de lenguaje natural?
- 15. Índices de orden de clasificación descendentes
- 16. TSQL - ¿Es posible definir el orden de clasificación?
- 17. Clasificación estable, es decir, clasificación mínimamente disruptiva
- 18. Orden de clasificación "orderby" condicional en LINQ
- 19. clasificación de rejilla Kendo en orden desc
- 20. Java For-Each Loop: orden de clasificación
- 21. ¿Qué tipo de clasificación es esta?
- 22. En C++, std :: multiset mantiene un orden de clasificación estable?
- 23. Clasificación natural de matriz de PHP en reversa y no preservar las claves
- 24. Backbonejs colección cambiar el orden de clasificación?
- 25. ¿Qué es una buena biblioteca de lenguaje natural para parafrasear?
- 26. Clasificación Divs en jQuery por orden personalizado
- 27. ¿Por qué agregar un sufijo común revierte el orden de clasificación en la configuración regional en_US?
- 28. Clasificación int matriz en orden descendente
- 29. ¿Alguna manera de evitar una clasificación de archivos cuando la orden es diferente de la cláusula where?
- 30. orden de clasificación de boost :: weak_ptr after expiring?
Aquí está el algoritmo de clasificación natural en javascript para más comprensión 1. algo: http: //js-naturalsort.googlecode.com/svn/trunk/ naturalSort.js 2. Unit Test: http://code.google.com/p/js-naturalsort/source/browse/trunk/unit-tests.html –
Otra buena descripción y una implementación más pequeña: http: // blog. codinghorror.com/sorting-for-humans-natural-sort-order/ – dresende
En Java, el "orden natural" no es "natural" por alguna medida subjetiva, sino que para los objetos, objetivamente es el orden impuesto por el 'Comparable # comparar el método de ', sin embargo, parece a los humanos. –