Clasificación de strings en Julia

Ordenar strings en Julia significa que ahora estamos ordenando los caracteres de la string. En Julia, esto se puede lograr fácilmente con la lógica básica de colocar cada carácter de la string en una array separada y ordenar la array. Por último, uniendo la array para obtener la array ordenada.

Las tareas principales son las siguientes:

  1. Obtener cada carácter de la string y colocarlo en una array separada.
  2. Aplicar los algoritmos de clasificación o diferentes funciones de clasificación en los caracteres obtenidos.
  3. Unirse a la array de caracteres y obtener la string ordenada como salida.

Creación de una array de caracteres de string

Para crear una array de los caracteres presentes en la string, Julia proporciona una función predefinida para recopilar(). Esta función devuelve los elementos en forma de array en nuestro caso, que son caracteres aquí si la string se pasa a esta función.

Ejemplo

Julia

# Defining a String
str1 = string("julia")
 
# Using the collect function
# to fetch each character of the string
a = collect(str1)

Clasificación de strings

Julia proporciona varios métodos y funciones predefinidas para la clasificación de strings. Estos métodos toman una array de caracteres como argumento y devuelven la array ordenada.

Método 1: Usar la función sort()

Esto ordena los elementos de la array y se puede usar para ordenar una array de enteros, caracteres, etc. Esta función ordena el algoritmo con una complejidad de tiempo de O (N log N). Aquí, en esta función, la string str1 se pasa como argumento .

Julia

str1 = string("julia")
 
a = collect(str1)
 
# Applying the sort function
b = sort(a)

Uniendo elementos de Array para hacer una String

Para ordenar la string, los elementos ordenados de la array deben volver a unirse para formar una string. Julia proporciona una función predefinida join() que une la array de caracteres y forma una substring de cada carácter que contiene. Los caracteres ordenados almacenados en b ahora se pasan como argumento en la función join().

Julia

# Joining the sorted characters
join(b)

División de strings en substrings

La división de strings se realiza para dividir la array en múltiples substrings que se ordenan individualmente con la ayuda de arrays y se vuelven a unir una vez ordenadas. Julia proporciona una función predefinida split() que funciona igual que la función collect() , lo que significa que devuelve cada carácter de la string recordado como substrings.

Método 2:  Uso de la función ordenar (substrings obtenidas, alg =) 

Funciona de manera similar a la función de clasificación pero con una mayor complejidad de tiempo. La complejidad temporal es igual a la complejidad temporal del algoritmo utilizado y este algoritmo se pasa como argumento en la función anterior

Usando el algoritmo Quicksort (mejor caso Time Complexity = O (n log n) )

Aquí, la array devuelta de recopilar o dividir se pasa como un argumento en la función y el algoritmo de clasificación. Luego, se unen las substrings ordenadas mediante la función             join() .

Julia

str1 =string("julia")
 
a = collect(str1)
 
# using Quicksort algorithm
sort(a, alg = QuickSort)
 
join(b)

Uso del algoritmo Insertionsort (en el mejor de los casos Complejidad de tiempo = O(n) )

Aquí, la array devuelta de la función de recopilación o división se pasa como un argumento en la función junto con el algoritmo que se utilizará. Luego, une las substrings ordenadas usando la función join() .

Julia

str1 = string("julia")
 
a = collect(str1)
 
# using Insertionsort algorithm
b = sort(a, alg = InsertionSort)
 
join(b)

Método 3: Uso de la función sortperm(fechedsubstrings)

Esta función devuelve una lista de índices que se pueden usar en la colección para producir una colección ordenada simplemente pasando las substrings obtenidas como argumento.

Aquí, las substrings obtenidas se pasarán como un argumento en la función sortperm(a) .

Julia

str1 = string("julia")
 
a = collect(str1)
 
# using sortperm() function
# returns the sorted indexes
# of each substring and storing in 'k'
k = sortperm(a)

Ahora recorreremos la array de substrings usando el bucle for y pasando los índices almacenados en k en la array de substrings. 

Método 4: Uso de la función sort (substrings obtenidas, rev = true)

Esta función clasificará la array en orden descendente ya que hemos cambiado el valor predeterminado de rev a verdadero , que en realidad es falso. Aquí, después de ordenar en orden descendente, uniremos las substrings ordenadas usando la función join() .

Julia

str1 = string("julia")
 
a = collect(str1)
 
# sorting in reverse order
c = sort(a, rev = true)
 
join(c)

Publicación traducida automáticamente

Artículo escrito por mridul7719 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *