희소 행렬 저장을위한 데이터 구조
-
13-09-2019 - |
문제
희소 행렬에서 수학 작업을해야합니다. 배열을 사용하는 것이 메모리를 사용하는 가장 효율적인 방법이 아닐 수도 있습니다. 특히 행렬은 200 행 이상을 가질 수 있기 때문입니다. 링크 된 목록도 사용하는 것을 고려했지만 그것이 더 나을지 확실하지 않습니다. 이 상황에 대한 적절한 데이터 구조 [접근]가 있습니까?
해결책
"200 줄 이상"은 몇 개입니까? 얼마나 드문가요? 더블의 1000x1000 매트릭스는 여전히 8MB 미만이며, 동시에 많은 작업을 수행해야하지 않는 한 걱정하지 않습니다.
이상적인 데이터 구조는 주로 수행 해야하는 작업에 따라 다릅니다.
즉시 사용 가능한 사용이 있습니다 드문 매트릭스 라이브러리 모든 일반적인 언어의 경우 - 자신의 언어 중 하나를 사용하는 것보다 훨씬 더 나은 언어를 사용하는 것이 좋습니다.
다른 팁
다음은 희소 행렬을 포함하는 몇 가지 오픈 소스 Java Maths 라이브러리입니다. 사용 된 데이터 구조를 연구 할 수도 있습니다 (또는 Java로 프로그래밍하는 경우 그 중 하나를 사용하더라도).
Java를위한 새로운 매트릭스 라이브러리가 있습니다. UJMP : 범용 Java 매트릭스 패키지
제휴하지 않습니다 StackOverflow