Optimizacion de matriz

juan pablo Rumie Vittar juanpablo_rv en yahoo.com.ar
Jue Oct 28 21:54:28 CLST 2004


> Hola, mi nombre es Fernando y soy de la universidad
> del bio-bio, mi problema es
> el siguiente:
> 
> Resulta que estoy trabajando en un proyecto de Ing.
> Industrial sobre maquinas
> paralelas y meta-raps,(todo esto lo estoy
> programando en C) y necesito ptimizar
> un código, yo se que en su universidad hay gente que
> se especializa en este
> tema. El caso es que estoy ocupando una matriz
> grande(1800 X 1000 aprox.
> dependiendo del problema),y recorriéndolas unas
> 10000 veces. Por otro lado yo
> se que al asignar una matriz de la forma tradicional
>  int matrix[1800][1600],
> no es nada mas que una lista en la memoria y que
> recorrerla por columna es
> ineficiente.
> Aqui vien mi problema, necesito que esta matriz sea
> dinámica y crezca a medida
> que crece el problema, probé usando un int **matriz,
> pero esta solución me
> alargo enormemente el tmpo de ejecución, por otro
> lado una matriz en forma de
> lista no me sirve mucho por que en una parte del
> programa debo dirigirme a un
> punto especifico(matrix[800][70]) y recorrerla para
> encontrar ese punto también
> afecta el tmpo.

Fernando:

Hola, si te es mucho lio cambiar de lenguaje lo que
puedes hacer es usar "listas dinamicas" (punteros) o
sea una matriz dinamica como lo has propuesto..... y
para solucionar el acceso que mejor que una tabla de
hash! 
definiendo la "indexacion" sobre la matriz (a traves
de un arreglo de hash) y con eso te evitas por un
lado, de "la complejidad de ejecucion extra" y ademas
"optimizas" el uso de la memoria...... 
Ademas implementar una funcion de hash en C es facil y
Warning!!!!! libera la memoria que no uses!!!! ya que
esa "responsabilidad" queda de parte del
desarrollador!

> Bueno, con todos estos antecedentes espero que
> alguien me pueda ayudar o me den
> un mail para contactarme con alguna persona.
> Ahhh! si esta no es la lista en que tratan estos
> temas les expongo mis disculpas
> 
> De antemano Gracias
> 
> FmC

saludos y que tengas suerte! 


=====
"De la misma forma que el hombre no finaliza nunca su etapa de aprendizaje, la informatica en su mas amplio contexto no finaliza nunca su etapa de evolucion"


	

	
		
___________________________________ 
¡Llevate a Yahoo! en tu Unifón! 
Ahora podés usar Yahoo! Messenger en tu Unifón, en cualquier momento y lugar. 
Encontrá más información en: http://ar.mobile.yahoo.com/sms.html 



Más información sobre la lista de distribución Linux