알고리즘, 행렬곱셈과 쉬트라센 알고리즘의 수행시간 비교
- 최초 등록일
- 2008.03.17
- 최종 저작일
- 2007.11
- 9페이지/ 한컴오피스
- 가격 1,500원
소개글
알고리즘, 행렬곱셈과 쉬트라센 알고리즘의 수행시간 비교
행렬곱셈, 쉬트라센 알고리즘 코드 및 수행화면, 그리고 비교분석자료.
목차
■ 실행환경
■ 코딩
■ 실행화면
■ 단순 행렬곱셈과 쉬트라쎈 알고리즘의 수행시간 비교
■ 후기
본문내용
■ 실행환경
CPU - Intel Celeron 2.6Ghz
MEMORY - 512MB
■ 코딩
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int **a,**b,**c,**m1, **m2, **m3, **m4, **m5, **m6, **m7, **temp1, **temp2;
void strassen(int tr, int rc, int **s1, int **s2, int **s3)//쉬트라쎈 알고리즘
{
int a, b, c, d, e, temp;
if (rc <= tr) //Th와 행렬크기 비교
{
for(c = 0 ; c < rc ; c++)
{
for(e = 0 ; e < rc ; e++)
{
temp = 0;
for(d = 0 ; d < rc ; d++)
{
temp += s1[c][d] * s2[d][e];
}
s3[c][e] = temp;
}
}
}
else // 쉬트라쎈 알고리즘
{
for(a = 0; a < rc/2 ; a++) // m1 = (a11 + a22) * (b11 + b22)
{
for (b = 0; b < rc/2 ; b++)
{
temp1[a][b] = s1[a][b] + s1[a + rc/2][b + rc/2];
temp2[a][b] = s2[a][b] + s2[a + rc/2][b + rc/2];
}
}
strassen(tr,rc/2,temp1,temp2,m1);
for(a = 0; a < rc/2 ; a++) // m2 = (a21 + a22) * b11
{
참고 자료
없음