자료구조에는 크게 선형과 비선형 자료구조로 나뉜다.선형 자료구조(Linear)데이터 요소가 순차적으로 배열되는 자료구조한번에 탐색이 가능하다--> 탐색이 간단하고 구현하기 쉽다배열, 연결리스트, 스택, 큐 데크, 우선순위 큐, 해시테이블비선형 자료구조(non-linear)데이터 요소가 순차적으로 또는 선형으로 배열되지 않는 자료구조멀티레벨로 구성된다--> 탐색이 복잡하고 구현하기 번잡하다메모리를 효율적으로 활용 가능하다.그래프, 트리, 힙(최단경로 문제, 트라이)