Borrar una matriz de elementos definidos - página 25

 
Sergey Dzyublik:

Yo utilizaría la estructura de datos HashSet para los valores.
La complejidad sería: O(n) + O(m)

Para la búsqueda binaria propuesta, la complejidad sería: O(n log(m))


¿Qué biblioteca utilizas para los conjuntos de hash? Los que he visto para MQL son más lentos que la búsqueda binaria ...

 

He cambiado los parámetros de prueba (para la nueva tarea) para reflejar una proporción de 2: 1 de números únicos a filtros únicos.
Archivos adjuntos:
 

Cambios menores.

P.D. ligeramente corregido

Archivos adjuntos:
 

Abrir el proyecto ArrayDeleteValue.
Vamos a divertirnos un poco más

P.D. Todas las funciones se distribuyen en archivos. Es más fácil editar cada uno

 

Me gustaría agradecer sinceramente a todos de corazón, ¡en 10 años no he visto un hilo más productivo en este foro!
Muchas gracias a todos por su atención, por sus ejemplos concretos, por su comunicación constructiva.
En mi opinión, este hilo puede ser un ejemplo de cómo comunicarse y ayudarse mutuamente.
Muchas gracias de nuevo.

👍👍👍👍👍👍👍👍

 

No quise ofender a nadie y borré el post donde respondía a los ataques sobre mi algoritmo, pero pensé, que debería ser aclarado para los programadores por qué tiene una suma de comprobación errónea y cuál es su diferencia con otros - simplemente mantiene no sólo el orden de los elementos en la matriz, sino sus posiciones, por supuesto, a excepción de los eliminados.


En resumen, los que escribieron código entenderán si es útil o no, mientras que los proffesores no se ofendan, pero el sitio no es para ustedes... :)

Очистка массива от заданного (ых) элементов
Очистка массива от заданного (ых) элементов
  • 2018.11.16
  • www.mql5.com
Есть массив содержащий набор данных по типу 1,2,3,6,9,5,6,3,25,6,8,7,4 нужно удалить например значения 3 и на выходе получить тот же массив без 3 и...
 
Ivan Negreshniy:

No quise ofender a nadie y borré el post donde respondía a los ataques sobre mi algoritmo, pero pensé, que debería ser aclarado para los programadores por qué tiene una suma de comprobación errónea y cuál es su diferencia con otros - simplemente mantiene no sólo el orden de los elementos en la matriz, sino sus posiciones, por supuesto, a excepción de los eliminados.


En resumen, los que escribieron código entenderán si es útil o no, mientras que los proffesores no se ofendan, pero el sitio no es para ustedes... :)

En alguna parte he insinuado que no tiene sentido tener una suma de comprobación. Hay datos entrantes, hay un resultado de referencia.
Es necesario comparar los resultados de los pases con la referencia disponible y segura. No es necesario comparar dos matrices O(n), el único beneficio es obtener un resultado aproximado lo antes posible . El experimentador un poco antes (por un par de segundos/minutos)
tamiza exactamente los resultados erróneos.

 
Konstantin Nikitin:

Proyecto abierto ArrayDeleteValue.
Vamos a divertirnos un poco más

P.D. Todas las funciones están distribuidas en archivos. Es más fácil corregir cada una de ellas.

diferentes máquinas tienen resultados diferentes, que varían en casi un factor de dos, por lo que ni siquiera está claro si tiene algún sentido.

Ivan Negreshniy:

En resumen, los que escribieron el código entenderán, es útil o error, y los profesores no se ofendan, pero este sitio no es para usted ... :)

Te equivocas, pero probablemente deberías leer el hilo antes de entrar en él.

 
Ivan Negreshniy:

...

Sí, pero por lo demás hermosa marquesa, todo está bien, todo está bien...

 
Stanislav Dray:

diferentes máquinas tienen resultados diferentes, que varían en casi un factor de dos, por lo que ni siquiera está claro si tiene algún sentido.

te equivocas, pero para entenderlo probablemente necesites leer el hilo antes de entrar en él "desde el pie"

si lo correcto es comparar dos algoritmos sobre lo mismo, entonces

- se hacen gráficos. Si al cambiar las condiciones (volumen de una matriz por ejemplo) alg. A dibujado en verde supera claramente a B dibujado en azul, podemos concluir que alg.A es "más rápido".

- También notarás que la velocidad no sólo depende del tamaño inicial del array, sino también del número de elementos a eliminar e incluso de su ubicación.

- es decir, los gráficos son al menos bidimensionales (son superficies) y es necesario observar los casos de borde

tal cual :-)