Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Por lo tanto, si una orden se cierra, tiene que ser "tachada" de la matriz. En estos casos, solía copiar el array "en sí mismo" y reducir el tamaño en uno.
En este caso, escribiría un ticket inexistente en el array -1 , esperaría a que se cerraran todos los pedidos y borraría todo el array (el tamaño del array debería ser 1).
En este enfoque, un elemento de la matriz de billetes (si no hay orden) se comprueba con una sola condición: if(ArrayOfTicket[i] > 0) .....
En mi opinión, es más rápido que "sacudir" constantemente la matriz
En ese caso, escribiría un ticket inexistente en el array -1 , esperaría a que se cerraran todos los pedidos y borraría todo el array (tamaño del array = 1).
En este enfoque, un elemento de la matriz de billetes (si no hay orden) se comprueba con una sola condición: if(ArrayOfTicket[i] > 0) .....
En mi opinión, es más rápido que "sacudir" constantemente la matriz
No lo entiendo... Qué diferencia hay entre borrar elemento por elemento o comprobar los índices de los pedidos inexistentes... el array se agita de todos modos...
De todos modos, como han dicho hoy en las noticias, es imposible patentar el sabor. Los floureshers sólo se diferencian en el color, pero todos tienen el mismo sabor.
No lo entiendo... Qué diferencia hay entre borrar los elementos uno a uno o comprobar los índices de los pedidos inexistentes... El array se sobrecarga de todos modos...
De todas formas, como han dicho hoy en las noticias, es imposible patentar el sabor. Los floureshers sólo se diferencian en el color, pero todos tienen el mismo sabor.
Borrar un elemento implica copiar los elementos restantes del array, no borro elementos del array, marco los elementos no existentes (tickets) con el valor -1, y borro un array de tickets cuando no hay órdenes de mercado
En cuanto a los marcadores de flotación, es definitivamente cierto, depende del problema, en principio, suele haber 2 soluciones durante la optimización:
- o bien añaden complejidad al algoritmo, pero ahorran memoria y recursos informáticos del PC
- o simplificar el algoritmo y ahorrar recursos informáticos pero desperdiciar memoria
La suma de comprobación no es correcta, si hay 0 en la matriz puede haber un error
La variante de Nikitin funciona precisamente con ese error.
La suma de comprobación no es correcta, si hay 0 en la matriz puede haber un error
La variante de Nikitin funciona justo para ese error.
Sí, tienes razón. Sólo Nikitin arrojó adicionalmente cero elementos. Por eso su código parecía defectuoso. En realidad, se trataba de resolver la tarea que te habías propuesto en un principio.
Si documentas su comprobación de elementos nulos, el resultado es el mismo:
De nuevo, la suma de comprobación ahora tiene en cuenta el orden de los elementos, antes no lo hacía.
Sí, tienes razón. Sólo que Nikitin lanzaba también elementos nulos adicionales. Por eso su código parecía estar mal. En realidad, se trataba de resolver la tarea que te habías propuesto en un principio.
Si documentas su comprobación de elementos nulos, el resultado es el mismo:
De nuevo, la suma de comprobación ahora tiene en cuenta el orden de los elementos, antes no lo hacía.
Por cierto, si el orden es muy importante, puede añadir ArraySort al final de mi variante y ver la eficacia de ArraySort en absoluto.
Ahora me interesa otra pregunta, a la que no encuentro respuesta.
Tal vez alguien pueda explicar por qué esta variante del código de Kuznetsov:
funciona más del doble de rápido que éste, que hace exactamente lo mismo:
¿Cuáles son las maravillas del compilador?
¿Es posible que para tal diseño:
while(arr[i]!=x && i<j) i++;
¿encuentra el compilador algún comando especial de búsqueda en ensamblador para el procesador?
¿Alguien es fuerte en los comandos de los procesadores modernos?
Por cierto, si el orden es muy importante, puedo añadir ArraySort al final de mi versión, al mismo tiempo vamos a ver la eficacia de ArraySort en absoluto.
Lo he probado. Es una función bastante costosa. Sin embargo, es más fácil tirarlo después. Todos los necesarios van en fila.
Sí, tienes razón. Sólo Nikitin lanzaba además elementos nulos. Por eso su código se veía mal. En realidad, era la tarea que habías definido al principio.
Si documentas su comprobación de elementos nulos, el resultado es el mismo:
:
funciona más del doble de rápido que uno que hace exactamente lo mismo:
el optimizador no tiene nada que ver - hay la mitad de comparaciones...