Saltar al contenido

cadena – ¿Qué es el orden lexicográfico?

septiembre 23, 2021
apple touch icon@2

Quiero agregar una respuesta que esté más relacionada con el lado de programación del término que con el lado matemático.

El orden lexicográfico no siempre equivale a «orden de diccionario», al menos esta definición no es completa en el ámbito de la programación, sino que se refiere a «un pedido basado en múltiples criterios«.

Por ejemplo, casi en todos los lenguajes de programación famosos, existen herramientas estándar para ordenar colecciones de objetos, ahora, ¿qué sucede si desea ordenar una colección en función de mas de una cosa? Por ejemplo, digamos que primero desea ordenar algunos artículos según sus precios Y luego según su popularidad. Este es un ejemplo de orden lexicográfico.

Por ejemplo, en Java (8+), podría hacer algo como esto:

// sorts items from the cheapest AND the most popular ones
// towards the most expensive AND the least popular ones.
Collections.sort(items,
    Comparator.comparing(Item::price)
   .thenComparing(Item::popularity)
   .reversed()
);

Y el Documentación de Java también usa este término para referirse a este tipo de ordenamiento al explicar el método «thenComapring ()»:

Devuelve un orden lexicográfico comparador con otro comparador.

close