'Back-end/알고리즘' 카테고리의 글 목록
복잡도(Big O) 줄이기 | 성능개선하는 방법들(mallloc()의 단점, std::move(), Sanity check, 배열복사, 증감연산자, call-by-value) | 좋은 코드란 무엇일까
좋은 코드란?성능, 안전함, 에러찾기쉬운, 관리쉬운, 중복x시간복잡도와 공간복잡도 고려하기. Big O 예시)O( 2*(n+1) ) becomes O(n)O( n^3+n^2+1 ) becomes O(n^3)영향 적게 주는건(차수가 낮은 항) 그냥 제외하면 됨. Big O 계산 예시)아래와 같이 함수 호출을 하는 코드가 있다고 가정int f(int n){ if (n f(n)-> f(n-1) +f(n-1)-> f(n-2) + f(n-2) + f(n-2) + f(n-2)-> f(n-3) + f(n-3)+ f(n-3)+ f(n-3)+ f(n-3)+ f(n-3)+ f(n-3)+ f(n-3)-> . . .1, 2, 4, 8, ... 2^n -> 2^(n+1)-1 ->O(2^n) 이 된다. 성능 개선 방법들1. ..
2024. 1. 16.