• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

176
Views
Ordenación de matriz no destructiva funcional

Además de la forma nativa de clonar una matriz y luego clasificarla en su lugar, ¿existe un algoritmo y una implementación existente que sea más adecuada para la clasificación no destructiva?

Necesita ordenar una matriz de flotantes en una nueva matriz sin cambiar la fuente. Los resultados de mi búsqueda fueron bastante escasos, ya que la mayor parte de la literatura se centra en reducir los requisitos de memoria con la clasificación en el lugar.

Usar el nativo sorted = [].slice().sort() funciona bien . Esta pregunta se trata de comprender si hay otras implementaciones de clasificación de rendimiento cuando se eliminan las restricciones de memoria, ya que de todos modos se necesita una nueva matriz.

about 3 years ago · Santiago Trujillo
2 answers
Answer question

0

Hay una sintaxis más simple para ordenar inmutablemente una matriz usando el operador de distribución ES6:

 [...array].sort(sortFn)
about 3 years ago · Santiago Trujillo Report

0

Como los comentarios han repetido un par de veces:

  1. shuffledArray.slice().sort() es la forma predeterminada de proceder.
  2. No está muy claro cómo podríamos tener un mejor algoritmo/método usando las bibliotecas que mencionaste.

Al ver que la motivación para la clasificación no destructiva está relacionada con la escritura de código funcional, y está mirando a Ramda... consulte la biblioteca ImmutableJS de Facebook si aún no lo ha hecho.

En particular, la Seq . Puede comenzar a almacenar su matriz de flotadores en un Seq , ordenarlo y asegurarse de que el Seq original permanezca en el orden correcto. Además, utiliza la evaluación perezosa. http://facebook.github.io/immutable-js/docs/#/Seq
http://facebook.github.io/immutable-js/docs/#/Seq/sortBy

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error