[자료구조] 자료구조와 알고리즘의 이해

Nahyun Kim·2022년 7월 20일
0

Data Structure

목록 보기
1/2

자료구조의 정의를 한 단어에 온전히 담기는 어렵다고 생각하지만, 저자는 자료구조를 '데이터의 표현 및 저장방법'이라고 표현했다. 또한, 알고리즘은 표현/저장된 데이터를 대상으로 하는 '문제 해결 방법'을 의미한다고 했다.

따라서, 알고리즘은 자료구조에 의존적이라 할 수 있다.

📌 자료구조를 공부할 땐 그림으로 그리면서 이해해보자.

시간 복잡도(Time complexity)와 공간 복잡도(Space Complexity)

👉 시간 복잡도: 속도에 해당하는 알고리즘의 수행시간 분석결과
👉 공간 복잡도: 메모리 사용량에 대한 분석결과

가장 좋은 알고리즘은 메모리를 적게 쓰면서도 속도가 빠른 알고리즘일 것이다. 일반적으로는 알고리즘 평가 시, 시간 복잡도에 초점을 맞춘다고 한다. 그렇다면 속도를 어떻게 평가할까?

바로, 처리해야 할 데이터의 수 n에 대한 연산횟수의 함수 'T(n)'을 구성하는 방법으로 속도에 대한 평가가 이루어진다.

앞으로 공부하면서 만나게 될 다양한 알고리즘의 시간 복잡도를 계산할 때에 이 T(n)함수를 이용하게 될 것이다.

profile
studying computer vision & NLP

0개의 댓글