01. STL( Standard Template Library )
C++의 표준 템플릿 라이브러리의 일부로서 템플릿에 기반을 둔 컨테이너, 알고리즘, 반복자 등을 구현한 클래스와 함수를 가리키는 용어이다.
반복자 ( Iterator )
컨테이너의 개념을 설명하기 전에 반복자 개념을 알아야함, 모든 컨테이너는 각자의 반복자를 제공한다.
- 반복자는 컨테이너에 있는 각 원소에 접근하여 수정, 삭제, 추가 기능을 한다.
- 반복자는 공통의 멤버 함수인 begin과 end를 가진다.
컨테이너( Container )
개발 현장에서 컨테이너를 사용하지 않는 프로젝트는 찾기 힘듦
- 컨테이너에는 한 가지 타입의 객체들만 보관할 수 있다.
컨테이너의 종류
- 순차 컨테이너( Sequential Container )
- 원소가 들어온 순서대로 저장, 각 원소의 위치는 인덱스로 접근 가능
- array, list, vector, deque 가 있음.
- 연관 컨테이너( Associative Container )
- 데이터를 저장하고 검색할 때 사용한다.
- 특정 key를 사용하여 데이터를 효율적으로 검색할 수 있다.
- 대량의 데이터에서도 빠르게 검색할 수 있고, 실시간 또는 반응형 시스템에서 매우 유용하다.
- set, multiset, map, multimap 이 있음.
- 컨테이너 어댑터( Container adapter )
- 다른 컨테이너를 기반으로 새로운 기능을 제공하는 컨테이너
- stack, queue( 큐 ) 가 있음.
02. 알고리즘
정렬을 하는 가장 큰 이유는 처리 속도를 올리기 위함이다.