대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조를 의미
배열, 스택, 큐, 링크드 리스트, 해쉬테이블, 힙 등
어떤 문제를 풀기 위한 절차/ 방법 어떤 문제에 대해, 특정한 입력을 넣으면 원하는 출력을 얻을 수 있도록 만드는 프로그래밍 시간, 저장공간을 기준으로 얼마나 효율적인지를 판단할 수 있음 현실적인 예) 백종원 레시피
어떤 자료구조와 알고리즘을 쓰느냐에 따라 성능이 천지차이기 때문!