[백준 12020번] LU 분해 (C++)
·
📚알고리즘/백준
https://www.acmicpc.net/problem/12020 요즘 선형대수학을 공부하고 있는데 백준에 예제가 잘 나와있어서 연습하기 참 좋다.어떤 행렬 A를 하삼각행렬과 상삼각행렬로 분해하는 과정이다.Ax = b 라는 선형연립방정식을 풀 때 단순히 가우스 소거법을 이용하여 풀어도 되지만, LU분해를 사용하면 훨씬 효율적으로 계산할 수 있다. 가우스 소거법을 활용한 선형연립방정식의 Time complexity: N³LU분해를 활용한 선형연립방정식의 Time complexity: N² LU분해를 하는 과정에서 가우스 소거법이 필요해서 최초의 분해를 하는 데에는 N³의 시간복잡도를 필요로 하지만, 분해는 한번 해 놓으면 다시 할 필요가 없다는 점에서 이득을 볼 수 있다. 한마디로 Ax = b에서 b가..