자료구조(Data Structure)는 사전적 의미로는 자료(Data)의 집합이며, 각 원소들이 논리적으로 정의된 규칙에 의해 나열되고 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것이다. 잘 선택된 자료구조는 실행시간을 단축시켜주거나 메모리 자원을 절약시켜준다. 자료구조의 목적에 따른 특징은 다음과 같다. -효율성 데이터의 전달, 검색, 연산 등 다양한 작업을 데이터에 대하여 구현할 때, 구현된 알고리즘이 시간적, 공간적으로 효율성이 높아야 좋은 알고리즘이라 할 수 있다. 이러한 알고리즘을 사용할 때 필요한 데이터의 구조도 천차만별이다. 예로, 선형의 배열에서 특정 데이터를 순차적으로 찾는것 보다 비선형적인 트리에서 이진탐색을 실행하는것이 더욱 효율적이다. 사용하는 알고리즘에..