CS Study/CLRS (자료구조 | 알고리즘)
[CLRS] [1-2] Algorithms as a technology
23학번이수현
2024. 9. 1. 16:35
1. Introduction
- 컴퓨터가 무한히 빠르고 메모리 비용이 들지 않는다고 가정하자.
- 컴퓨터가 무한히 빠르면 어떤 문제를 해결하는 알고리즘들은 전부 무한히 빠를 것이다.
- 따라서, 어떤 기법이든 가장 쉽게 구현할 수 있는 것을 자주 사용하게 된다.
- 하지만 컴퓨터는 엄청 빠를 순 있지만, 무한히 빠를 수 없다.
마찬가지로, 메모리도 매우 저렴하 순 있지만, 비용이 전혀 들지 않을 수 없다.
- 결국 우리는 가장 효율적인 알고리즘과 자료구조를 찾아야만 한다.
2. 효율성
- 동일한 문제를 해결하기 위한 알고리즘이 효율성 면에서 극적으로 다를 수 있다.
- 잘 설계된 알고리즘은 효율성이 낮은 알고리즘보다 계산/시간적인 차원에서 문제의 크기가 커질수록 그 상대적인 장점도 커진다
- 알고리즘에 대한 지식과 기술을 얼마나 알차게 학습하였는가는 숙련된 개발자와 초보자를 구분하는 기준이 된다.