본문 바로가기

Algorithms (알고리즘)/Complexity Analysis (복잡도 분석)2

Complexity Analysis (2) - Asymptotic Analysis (점근적 분석) 서문 (Preface) 지난 포스팅에서는 알고리즘의 정의와, 효율성을 분석하는 방법, 그리고 알고리즘의 복잡도를 시간과 공간적인 측면에서 수학적으로 기술할 수 있다는 것에 대해 알아봤습니다. 그리고 이번 포스팅에서의 주제는 이걸 확장시켜서 구체적으로 어떤 방법을 통해 복잡도를 기술할 수 있는지를 다루도록 하겠습니다. 복잡도의 점근적 분석 (Asymptotic Analysis) 점근적 분석이란, 자료의 갯수 \( n \) 값이 커질수록 이에 따라 \( n \) 에 관한 어떤 알고리즘의 복잡도가 어떤식으로 변화해 나가는지를 의미합니다. 이 때, 충분히 큰 \( n \) 에 대하여 주어진 \( n \) 에 관한 함수 \( f(n) \) 을 또 다른 함수 \( g(n) \) 을 통하여 나타낼 수 있는데, (\(.. 2022. 4. 18.
Complexity Analysis (1) - Computational Complexity (계산 복잡도) 서문 (Preface) 안녕하세요, 정우 입니다. 오랜만에 새로운 알고리즘 관련 포스팅으로 찾아뵙네요. 앞으로는 알고리즘 및 자료 구조에 관한 게시글을이 대부분을 이룰 예정입니다. (중간 중간 Distributed Systems 나 좀 흥미로운 아키텍쳐에 관한 분석글도 올리도록 하겠습니다. 개요 (Overview) 이번 시리즈의 주제는 바로 "알고리즘의 효율성 분석" 입니다. 그 중에서도 가장 기본이 되는 각종 수학적 Notation (표기법) 들을 알아보도록 하겠습니다. 우선 들어가기에 앞서, 일반적으로 "알고리즘" 이라 하면 떠올리시는건 대부분 코딩을 먼저 떠올리실거라 생각합니다. 하지만, 알고리즘의 사전적 정의를 보자면: An algorithm is a finite sequence of well-d.. 2022. 4. 18.