Saltar al contenido

Orden lexicográfico Java – Javatpoint

octubre 16, 2021
lexicographical order java

El término orden lexicográfico es un término matemático conocido por nombres: orden léxico, producto lexicográfico (al), orden alfabético u orden de diccionario.

Esta sección cubrirá el orden lexicográfico del tema, su definición y otra información detallada. Después de eso, aprenderemos a usar el concepto de orden lexicográfico en el lenguaje de programación Java.

Definición del orden lexicográfico

El orden lexicográfico o lexicográfico en matemáticas es una generalización de la secuencia alfabética de los diccionarios a las secuencias de los símbolos o elementos ordenados de una lista totalmente ordenada. El término orden lexicográfico está motivado por la palabra «léxico». El léxico es el conjunto de palabras que se utilizan en algunos de los otros idiomas y tiene un orden convencional. Así, el orden lexicográfico es una forma de formalizar el orden de las palabras donde se da el orden de los símbolos subyacentes.

En programación, el orden lexicográfico se conoce popularmente como Orden de diccionario y se utiliza para ordenar una matriz de cadenas, comparar dos cadenas o clasificar elementos de la matriz. Resulta bastante fácil ordenar los elementos léxicamente. Es porque el orden lexicográfico tiene varias variantes y generalizaciones en las que:

  • Una variante es aplicable a las secuencias de diferentes longitudes, ya que antes de considerar los elementos particulares, se comparan las longitudes de las secuencias.
  • La segunda variante se usa para ordenar subconjuntos de un conjunto finito dado. Lo hace asignando un orden total al conjunto finito. Luego está convirtiendo subconjuntos en secuencias crecientes a las que se aplica el orden lexicográfico.
  • La generalización se refiere a la secuencia de productos cartesianos de conjuntos parcialmente ordenados, y dicha secuencia es un orden total, si y solo si cada factor del producto cartesiano está totalmente ordenado.

Comprensión de la noción formal de orden lexicográfico

  • Para comprender la noción formal de orden lexicográfico:
  • Comienza con un conjunto finito A, que se conoce como alfabeto y está completamente secuenciado. Además, significa que para ayb (dos símbolos cualesquiera que sean diferentes y no iguales) en A, a
  • Aquí, las palabras de A son la secuencia finita de símbolos de A e incluyen palabras de longitud 1 que contienen un solo símbolo, palabras de longitud 2 con dos símbolos, y para palabras de longitud tres, es 3, y así sucesivamente. Con respecto, ¿también incluye la secuencia vacía? sin ningún símbolo. Por tanto, el orden lexicográfico para el conjunto finito A se puede describir como:
  • Supongamos, para los dos mundos diferentes de la misma longitud, a = a1a2…ak y b = b1B2…Bk es dado. Aquí, el orden de dos palabras depende del orden alfabético de los símbolos en primer lugar i donde dos palabras varían cuando se cuentan desde el principio de las palabras, es decir, satisfaciendo la condición a I I dentro del orden del alfabeto A.
  • Si dos palabras han variado en longitud, el orden lexicográfico habitual rellena la palabra con una longitud más corta con espacios en blanco al final hasta que ambas palabras tengan la misma longitud, y luego se comparan las palabras.

Implementación de lexicográfico en Java

Como se discutió anteriormente, el orden lexicográfico se puede usar para comparar dos cadenas o para clasificar los elementos. Aquí, discutiremos ambos métodos e implementaremos cada uno.

Clasificación de elementos en orden lexicográfico

Organizar las palabras en orden se conoce como orden lexicográfico o también conocido como Orden de diccionario. Significa que al aplicar el orden lexicográfico, las palabras se ordenan alfabéticamente según los alfabetos que las componen. Para ordenar una matriz de cadenas en orden lexicográfico, tenemos los dos métodos siguientes:

Método 1: aplicar cualquier método de clasificación

A continuación se muestra el código de ejemplo que nos permitirá comprender cómo podemos realizar la clasificación de elementos en orden lexicográfico:

Explicación del código:

En el código anterior, hemos creado una clase Main dentro de la cual se crea el método main ().

  • Se ha inicializado una cadena, que contiene algunos valores, y cada palabra se imprimirá según el bucle for.
  • Luego, hemos implementado la lógica principal dentro de otro bucle for con la ayuda de la cual podemos formar el orden lexicográfico de las palabras dadas.
  • Finalmente, a través del bucle for, las palabras ordenadas se imprimen en la pantalla.

Al ejecutar el código de ejemplo anterior, obtuvimos el siguiente resultado:

Orden lexicográfico Java

A partir de la salida, podemos analizar que la secuencia dada de las palabras no estaba en orden alfabético pero después de aplicar el código de orden lexicográfico, podemos ver que cada palabra está ahora secuenciada en orden alfabético.

Método 2: aplicar la función sort ()

El método sort () está disponible en la clase Arrays dentro del paquete util.

A continuación se muestra el código de ejemplo que nos permitirá comprender cómo podemos realizar la clasificación de elementos en orden lexicográfico:

Al ejecutar la salida anterior, obtuvimos la salida que se muestra a continuación:

Orden lexicográfico Java

Comparación de dos cadenas usando el orden lexicográfico en Java

Para comparar dos cadenas usando el orden lexicográfico, tenemos los siguientes dos métodos:

Usando el método compareTo ()

Empecemos uno por uno:

Usando el método compareTo ()

A continuación se muestra una implementación de ejemplo mediante la cual podemos comparar cadenas lexicográficamente:

Explicación del código:

  • Hemos creado una clase StringExample donde hemos implementado el método main ().
  • Hemos inicializado dos cadenas, es decir, str1 y str2.
  • A continuación, utilizando el método compareTo (), hemos comparado las cadenas str1 y str2.
  • Después, si el valor de get_val se encuentra menor que 0, significa que str1 es mayor que str2.
  • De lo contrario, si el valor de get_val es igual a 0, significa que las cadenas str1 y str2 son iguales.
  • De lo contrario, ambas cadenas str1 es menor que str2.

Producción:

Orden lexicográfico Java

Creando una función definida por el usuario

A continuación, hemos creado una función definida por el usuario con la que podemos comparar dos cadenas lexicográficamente. El código es el siguiente:

Producción:

Orden lexicográfico Java

Explicación del código:

  • Hemos creado una clase Java en la que hemos inicializado cinco cadenas.
  • A continuación, comparamos la primera cadena con la segunda, la segunda con la tercera, y así sucesivamente.
  • Para hacer la comparación, hemos creado una función definida por el usuario compareString () mediante la cual comparando la longitud y cada carácter de las cadenas, obtuvimos los resultados.

Por tanto, de esta forma, podemos hacer uso del orden lexicográfico en Java para realizar dichas tareas.


close