보다 큰거같다

시험공부 해야하는데 여인수전개가 같은걸 계속 반복하는 재귀함수꼴 같아서
노트에 알고리즘을 짜봤는데 아무리생각해도 정말 비효율적인거같음 ㅋㅋㅋ

동적할당 짜는거 어렵기도하고 노트에다 깔짝깔짝하는데 무슨 그런 수고까지 하나 싶어서 1차원 배열로 해봤으요

함수선언 Int Det(Array A)
n차원행렬을 원소 n^2개의 1차원배열로 생각하고 선언
정수 i, j, result도 선언하고 0으로 초기화

만약 n==2면 대각선끼리 더하고 뺀거 리턴

아니면 n-1번 루프i돌림
  루프i의 내용은
  Array newA[(n-1)^2]를 만들고
  (n-1)^2번 루프j돌림
    루프j의 내용은
    newA[j]에 A[Value(n, i ,j)]넣는것 (여인수분해하는 과정에서 배열 차원줄이는 그것)(굳이 설명안해도 될거같음)
  루프j에서 나오면
  result에 A[i]*Det(newA)를 더하기
루프i에서 나오면

result를 리턴

지금 아이패드밖에 없어서 실행시간은 못재는데
아마 n에 100정도만 넣어도 하루 죙일 걸릴거같음

수업시간에 지금 있는 행렬식구하는 알고리즘중에 가장 빠른게 O((n^2)*log(n))이라고 들었는데
뭘 어떻게한거지 ㄷㄷ