전산학에서 자료 구조는
자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다. 신중히 선택한 자료구조는 보다 효율적인
알고리즘을 사용할 수 있게 한다. 이러한 자료구조의 선택문제는 대개
추상적 자료구조의 선택으로부터 시작하는 경우가 많다. 효과적으로 설계된 자료구조는 실행시간 혹은 메모리 용량과 같은 자원을 최소한으로 사용하면서 연산을 수행하도록 해준다.자료구 조에는 여러가지 종류가 있으며, 이러한 각각의 자료구조는 각자의 연산 및 목적에 맞추어져 있다. 예를 들어
B-트리는 데이터베이스에 효율적이며,
라우팅 테이블은 네트워크에 일반적이다.다양한 프로그램을 설계할 때, 어떠한 자료 구조를 선택할지는 가장 우선적으로 고려되어야 한다. 이는 큰 시스템을 제작할 때 구현의 난이도나 최종 결과물의 성능이 자료 구조에 크게 의존한다는 것을 많은 경험 뒷받침하기 때문이다. 일단 자료구조가 선택되면 적용할
알고리즘은 상대적으로 명확해지기 마련이다. 때로는 반대 순서로 정해지기도 하는데, 이는 목표로 하는 연산이 특정한 알고리즘을 반드시 필요로 하며, 해당 알고리즘은 특정 자료구조에서 가장 나은 성능을 발휘할 때와 같은 경우이다. 어떠한 경우든, 적절한 자료 구조의 선택은 필수적이다.
wikipedia.org…에서 더 자세한 내용을 보세요