FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Busqueda en memoria por mas cercano
Hola amigos,
Tengo lo siguiente: Necesito una estructura en la que pueda almacenar los siguientes datos: TimeOffset :LongWord; (clave) prevTimeOffset :LongWord; (datos) PositionOffset :LongWord; (datos) La clave seria TimeOffset. El problema se centra en la búsqueda ya que el valor a buscar (x) no es precisamente el almacenado sino uno que sea x > a y x < b. Ejemplo: Elemento clave datos 1 2183 0 0E 2 4447 2183 8EBE 3 6720 4447 11DC2 4 8983 6720 1AD26 ... ... .... ..... El dato a buscar pej. es 5300, tengo que encontrar la clave 4447, (x > elemento 2 y x < elemento 3) se entiende? La cantidad de elementos es variable y puede ser bastante grande por eso pensé en alguna tabla hash porque tengo entendido que son las mas rápidas aunque nunca las he usado y no se como hacerlo. Espero haberme explicado bien y cualquier ayuda será bienvenida. Gracias Jorge |
#2
|
||||
|
||||
Hola Jorge.
Cita:
Suponiendo que la clave a buscar 'TimeOffset' esté ordenada, para buscar utilizaría una busqueda por dicotomía binaria que es la más rápida, siendo su número de comparaciones de Log2(N). (aprox. 20 comparaciones para 1000000 de elementos). Por último, para simplificar el uso y almacenamiento de los valores; un arreglo dinámico. Te hice un ejemplo simple, muestra también los valores generados en un memo para que puedas verificarlo.
Saludos. Última edición por ecfisa fecha: 10-09-2010 a las 01:19:17. |
#3
|
|||
|
|||
Busqueda en memoria por mas cercano
Gracias ECFISA, cumple perfectamente con lo que necesito.
Un abrazo. jorge |
#4
|
||||
|
||||
De nada Jorge, un placer haberte sido de ayuda.
|
#5
|
|||
|
|||
Perdon que insista, y si quisiera encontrar el proximo mayor?
|
#7
|
|||
|
|||
Nuevamente gracias ecfisa
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Memoria en Delphi | Mauro Daniel | Varios | 6 | 01-04-2008 15:04:57 |
problema de memoria? | anubis | Varios | 4 | 21-02-2008 12:11:59 |
Consulta para encontrar el valor más cercano | Faust | SQL | 1 | 01-08-2007 05:15:58 |
Memoria | Gandazgul | Varios | 2 | 08-05-2004 01:02:37 |
Memoria | susje | Varios | 18 | 23-07-2003 00:07:10 |
|