Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Almacenar Rangos

Estas en el tema de Almacenar Rangos en el foro de C/C++ en Foros del Web. Hola, buenas: Estoy implementando una aplicación en kdevelop, en c++, y necesito crear una estructura para almacenar rangos de manera eficiente. El problema, es que ...
  #1 (permalink)  
Antiguo 23/03/2007, 04:16
 
Fecha de Ingreso: junio-2003
Ubicación: Bilbao
Mensajes: 90
Antigüedad: 20 años, 10 meses
Puntos: 1
Almacenar Rangos

Hola, buenas:
Estoy implementando una aplicación en kdevelop, en c++, y necesito crear una estructura para almacenar rangos de manera eficiente. El problema, es que no tengo información inicial de los rangos que me pueden llegar. En este sentido, almacenarlas no es problema. Pero, imaginemos, tengo los siguientes rangos:
1-10-20-30 y me llega un nuevo rango 5-10, o me viene una 5-15, la forma en que puedo realizar la transformación de los rangos siempre tiene problemas. Por un lado parece obvio que deberia separar los rangos de la forma 1-5-10... en el primero de los casos, pero los datos que contenía el rango 1-10 deberían pertenecer a ambos rangos, por lo que encontraría una duplicación de la información, y estoy hablando de miles de datos.

Estaba pensando en realizar una estructura interna a cada uno de los rangos para almacenar subrangos de los mismos. Y esto soluciona el primer caso, pero, con el mismo ejemplo que el anterior, 1-10-20-30, al insertar 5-15, no puedo realizar los subrangos. Y el hecho de dividir la separación de rangos original no es factible, creo, porque los datos internos de 1-10 no puedo dividirlos. Si lo hiciera, perdería información real.

Sé que la explicación es algo abstracta, pero si alguien tiene alguna idea, alguna solución, quizás me abra la mente.

En principio, había pensado en una lista doblemente enlazada que señale los posibles subrangos entre ellos, aunque la actualización de ésta realmente es algo costoso. Pensad también que una vez tenga la estructura implementada, lo más importante para esta aplicación es acceder a los datos de forma rápida.

Gracias de antemano.
__________________
Code
  #2 (permalink)  
Antiguo 23/03/2007, 16:44
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Almacenar Rangos

Intenta usar vectores. Son mucho mas sencillos y eficientes que las listas enlazadas aparte de que tienen mucha mas flexibilidad.

Saludos
  #3 (permalink)  
Antiguo 24/03/2007, 03:03
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Re: Almacenar Rangos

que tal,

no entendi muy bien, pero se supone que tu problema radica en que no sabes que valor van a tener los tamaños de las matrices?

si es asi.... como dice instru, std::vector es la solucion a tu problema....

saludos,
  #4 (permalink)  
Antiguo 26/03/2007, 03:28
 
Fecha de Ingreso: junio-2003
Ubicación: Bilbao
Mensajes: 90
Antigüedad: 20 años, 10 meses
Puntos: 1
Re: Almacenar Rangos

Bueno, en realidad no sé qué tamaño van a tener, pero eso me da igual. Se puede solucionar de muchas maneras. Pero el problema al que me refería, era principalmente que no conozco de antemano los rangos en los que se van a dividir los datos, y todos los problemas que ello conlleva. Como que me lleguen rangos grandes y luego subrangos, o rangos pequeñitos y luego rangos grandes qeu abarquen todos esos pequeñitos. Y no encuentro una forma muy eficiente de estructurar esos datos para no tener que reestructurar la estructura en ejecución.
__________________
Code
  #5 (permalink)  
Antiguo 26/03/2007, 16:51
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Almacenar Rangos

Te doy la misma respuesta, usa vectores.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:36.