Scripts: sSortTest

 

sSortTest:

El script contiene varios métodos de clasificación para ordenar una matriz ( tabla ) de tipo double[]:

Fig. 1. Rendimiento de algoritmos de ordenación

Autor: Dmitry Fedoseev

 

Hasta ahora aparece 404. al intentar descargar o ver el script.

 
sacado experimentalmente :)
Archivos adjuntos:
sSortTest.mq5  24 kb
 

y no he visto este algoritmo estándar:

void SortUp() 
{
  int n=ArraySize(arr);
  bool b=true;
  while (b)
  {
    b=false;
    for (int i=1; i<n; i++)
    {
      if (arr[i-1]>arr[i]) { double tmp=arr[i]; arr[i]=arr[i-1]; arr[i-1]=tmp; b=true; }
    }
  }
}
¿cuál es su análogo en esta librería?
 
sergeev:

y no he visto este algoritmo estándar:

¿cuál es su análogo en esta lib?
Así que tal algoritmo se transformó en una "burbuja" más eficiente, donde por cada ciclo el valor de N disminuye en 1.
 
sergeev:

y no he visto este algoritmo estándar:

¿cuál es su análogo en esta biblioteca?
No hay análogo. Lo añadí, lo llamé Simple. Es bastante lento.
Archivos adjuntos:
 
  1. ¿Qué lugar ocupa el ArraySort estándar en la lista?
  2. Me gustaría tener en MQL5 una función estándar universal para ordenar arrays de cualquier tipo por cualquier condición (como se hace en C++ y similares). Por desgracia, la falta de punteros en MQL5 hace que sea difícil escribir una función de este tipo.
 

Comparación de Hoare y ArraySort

Archivos adjuntos:
 

Aquí está todo junto.

Archivos adjuntos:
 

Colegas, les sugiero (para futuros artículos) grabar video adicionalmente, en mi opinión será mucho más claro que leer.

ejemplo


bien, o al menos envidiar el título interesante video de programación, por analogía con interesante video financiero... porque será de alguna manera no racional para poner todo en una pila, como este video....