나는이 코드를 C로 작성하여 실행하는 데 너무 오래 걸렸다. 그것을 향상시킬 방법이 있습니까? 내가 원하는 것은 각 행의 값을 합하여 벡터에 값을 저장하는 것입니다. 이 코드에서 i1은 행렬의 행 위치, 열 및 관련 값을 포함하는 값입니다. i1은 정렬되지 않습니다.c (희소 행렬 표현)의 코드 개선
while(a < 2*var)
{
for (int c=0; c < 2*var; c++)
{
if (i1[c][0] == a)
{
diag[b] += i1[c][2];
}
}
a = a+1;
b = b+1;
}
어떤 아이디어 나 제안을 주시면 감사하겠습니다. 고맙습니다.
스택 오버플로 코드를 작동하지 않는 전문. [Code Review On-Topic Check] (http://codereview.stackexchange.com/help/on-topic)의 6 개 질문에 모두 "예"라고 확신 할 수 있으면 [codereview.se] . – usr2564301
게시 한 코드의 계산 복잡도는'O (N^2) '입니다. 매트릭스에 포함 된 데이터의 구조를 모른 채 어떻게 향상시킬 수 있는지 알 수 없습니다. 계산상의 복잡성을 개선하기위한 전략은 매트릭스의 내용에 대해 가정 할 수있는 가정에 크게 의존합니다. –