자료구조는 데이터를 꺼내는 비용을 정하고, 알고리즘은 그 데이터를 어떤 순서로 처리할지 정한다.
배열, 해시, 트리처럼 데이터를 어디에 어떤 모양으로 둘지 정한다.
탐색, 정렬, DP처럼 입력을 원하는 출력으로 바꾸는 단계다.
가장 자주 반복되는 연산의 비용이 전체 성능을 좌우한다.