자료구조와 알고리즘
Programming/Data Structure 2012. 12. 19. 22:55 |실무에서는 자료구조를 직접 구현하지 않고 검증된 라이브러리를 가져다 쓴다. 그리고 그것은 합리적인 선택이다.
검증된 라이브러리를 활용하는 것이 안전성에서나 성능 면에서나 우월하기 때문이다.
하지만 라이브러리를 잘 가져다 쓰려면 리스트가 무엇이고 트리가 무엇인지 알아야 한다. 그냥 아는 것이 아니라 각각의 특성을 정확히 이해해야 한다.
알고리즘이란?
- 표현 및 저장된 데이터를 대상으로 하는 '문제의 해결 방법'을 뜻한다.
int arr[5] = {1,2,3,4,5};
for(idx=0; idx<5; idx++)
sum += arr[idx];
여기의 반복문은 배열의 저장된 모든 값의 합을 구하는 알고리즘이다. 하지만 자료구조가 결정되어야 그에 따른 효율적인 알고리즘을 결정할 수 있다.
만약 값이 저장된 자료구조가 배열이 아니었다면... 분명 알고리즘의 방법은 달라졌을 것이다.
결론
- 자료구조에 따라서 알고리즘은 달라진다.
- 알고리즘은 자료구조에 의존적이다.
- 때문에 자료구조와 알고리즘은 분명 다른 과목임에도 불구하고 매우 많은 연관성을 지니고 있다.
'Programming > Data Structure' 카테고리의 다른 글
빅-오 표기법 (Big-Oh Notation) (5) | 2012.12.22 |
---|---|
이진 탐색(Binary Search) 알고리즘 (0) | 2012.12.20 |
순차 탐색(Linear Search) 알고리즘과 시간 복잡도 분석의 핵심요소 (0) | 2012.12.20 |
알고리즘의 성능분석 방법 (0) | 2012.12.20 |
자료구조(Data Structure)에 대한 기본적인 이해 (0) | 2012.11.15 |