Un árbol de búsqueda binaria con equilibrio automático es una solución simple y eficiente para este problema. Existen varias estructuras de datos específicas que implementan árboles de búsqueda binarios de equilibrio automático. Consulte el artículo de Wikipedia: http://en.wikipedia.org/wiki/Sel…. Cualquiera de ellos debería estar bien.
Específicamente, en cualquier momento tiene aproximadamente 15 * 60 * 500 = 450000 precios actuales. Varios cientos de veces por segundo, quieres
(a) inserte un nuevo precio
(b) elimine un precio anterior que acaba de llegar a los 15 minutos
(c) busque el precio más alto por debajo de algún umbral.
Cada una de estas operaciones lleva tiempo [math] O (\ log (n)) [/ math] en un árbol de tamaño [math] n [/ math]; aquí [math] \ log (n) = 19 [/ math] aproximadamente, por lo que deberían tomar una pequeña fracción de milisegundo.
Para facilitar (b), querrá una manera de identificar eficientemente el precio más antiguo para poder eliminarlo; simplemente mantener todos los precios en un buffer de anillo hace el trabajo. El anillo de búfer y el árbol ocupan espacio [matemático] O (n) [/ matemático], por lo que tal vez decenas de megabytes en total, menos si pones esfuerzo en ese aspecto.
- Si clasifica todos los pesos de una red neuronal entrenada en orden ascendente, ¿cómo se vería la curva de los datos ordenados?
- Dada una lista de enlaces con punteros derechos, cada elemento de la lista tiene un enlace descendente que contiene otra lista de enlaces con punteros descendentes, de modo que cada lista derecha y abajo están ordenadas. ¿Cuál es la forma más rápida de aplanar la lista de enlaces de forma ordenada?
- Dos jugadores juegan el siguiente juego: hay N piedras en la mesa, el jugador puede tomar 1 o 2 piedras (si N mod 3 = 0), 1 o 3 (si N mod 3 = 1) y 1, 2 o 3 ( si N mod 3 = 2). ¿Cómo determino al ganador en el juego?
- ¿Por qué el algoritmo transversal de Morris tiene una complejidad de tiempo O (n)?
- ¿Son los sentimientos la función del costo del algoritmo de aprendizaje automático de los humanos?