자료구조는 자료를 컴퓨터에 저장하는 저장 방식이다. 현실을 프로그래밍 적으로 표현하는 것과 같다.
거대한 데이터를 효율적으로 표헌하고 저장하고 관리하기 위해 꼭 필요며 효율적인 자료구조의 관리는 프로그램의 실행 시간을 줄여주고 실행 시 메모리 용량을 적게 사용하도록 해준다. 효율적인 자료구조의 관리라는 것은 크기, 색상, 종류 등 특정 기준에 따라 분류를 하고 때로는 라벨로 색인을 하여 최소한의 공간에 보관하면서 빨리 찾을 수 있게 정리를 하는 것과 같다. 자료구조는 크게 ‘선형구조’, ‘비선형구조’, ‘파일구조’, ‘단순구조’로 분류되며 이렇게 표현 및 저장된 데이터를 대상으로 문제의 해결 방법을 찾는 것이 알고리즘이다.
- 배열 (선형 자료구조)
배열은 논리적 관점이나 물리적 관점에서 그 구조가 크게 다르지 않다. 왜냐하면 자료항목의 순서에 따라 같은 데이터형의 요소들이 동일한 크기로 나열되어있는 집합이기 때문이다. 하지만 행과 열이 있는 배열의 경우 논리적으로는 가로*세로의 ‘표’모양으로 구성이 되지만 물리적 공간에선 1차원으로 데이터가 구성된다.
- 연결리스트(선형 자료구조)