Necesito hacer algunas operaciones matemáticas en matrices dispersas. Noté que el uso de matrices puede no ser la forma más eficiente de utilizar mi memoria, especialmente dado que las matrices pueden tener más de 200 filas. También he considerado usar una lista vinculada, pero no estoy seguro de si eso será mejor. ¿Hay alguna estructura de datos adecuada [enfoque] a esta situación?Estructura de datos para almacenar matrices dispersas
Respuesta
¿Cuántos "más de 200 filas"? ¿Qué escaso? Una matriz de dobles de 1000x1000 aún es inferior a 8MB, lo cual no es algo de lo que me preocupe a menos que necesite trabajar con muchos de ellos simultáneamente.
La estructura de datos ideal depende principalmente del tipo de operaciones que necesite realizar.
Tenga en cuenta que hay sparse matrix libraries listos para usar para todos los idiomas comunes que existen; es mucho mejor que utilice uno de ellos.
Aquí hay algunas bibliotecas de matemática Java de código abierto que incluyen matrices dispersas. Podría estudiar las estructuras de datos utilizadas (o incluso solo usar una de ellas si programa en Java).
Hay una biblioteca nueva matriz a partir de Java que parece que podría tener un buen apoyo matriz dispersa: UJMP: The Universal Java Matrix Package
- 1. Fortran 90/95 biblioteca para matrices dispersas?
- 2. ¿Hay soporte para matrices dispersas en Python?
- 3. ¿Incanter tiene soporte para matrices dispersas?
- 4. Estructura de datos para almacenar eventos recurrentes?
- 5. Estructura de datos para almacenar Rangos
- 6. ¿Las matrices de Javascript son dispersas?
- 7. Python espacio + tiempo eficiente Estructura de datos para almacenar matrices de bits 2D
- 8. ¿Estructura de datos para almacenar una gran cantidad de datos?
- 9. Mejor biblioteca de matriz C++ para matrices unitarias dispersas
- 10. Estructura de datos para almacenar asociaciones de palabras
- 11. Mejor estructura de base de datos para almacenar feeds RSS
- 12. Estructura de datos para almacenar variables en un lenguaje interpretado
- 13. almacenar algunos datos en la estructura inode
- 14. suma la realización de los productos exteriores de matrices dispersas
- 15. Acumulando eficientemente una colección de matrices scipy dispersas
- 16. unboxing, (dispersas) matrices y biblioteca de vectores haskell
- 17. Estructura de datos para datos espaciales
- 18. Estructura de datos para almacenar tablas de bases de datos arbitrarias
- 19. Almacenar una estructura de directorio en la base de datos
- 20. Implementación de Java de descomposición de valores singulares para grandes matrices dispersas
- 21. Estructura de datos para almacenar un campo de clasificación para permitir modificaciones de manera eficiente
- 22. ¿Cuál es la forma más rápida de representar y multiplicar matrices booleanas dispersas?
- 23. ¿Puedo usar Lapack para calcular los valores propios y vectores propios de matrices dispersas grandes?
- 24. Estructura de datos espaciales para juegos
- 25. Estructura de datos para dados cargados?
- 26. ¿Qué colección para almacenar una estructura de árbol?
- 27. Manejar una gran estructura de datos en Java
- 28. ¿Qué es una buena estructura de datos de Java para almacenar elementos de juegos de rol?
- 29. Estructura de datos de mapa en pl/sql para almacenar el par de valores clave?
- 30. Estructura de datos de espacio eficiente para almacenar una lista de palabras?
Gracias, esto era muy útil . – micaleel