
자료구조 (Data Structure)는 컴퓨터 과학에서 데이터의 효율적인 접근 및 수정을 가능하게 하는 방법 혹은 메커니즘을 의미한다.
더 정확하게 표현하면 자료 구조는 데이터 값의 모임, 또 데이터 요소 간의 관계, 연산 및 액세스 방법(함수나 명령)을 뜻한다.
대부분의 자료구조는 특정한 상황에 놓인 문제를 해결하는데 특화되어 있다.
성능, 메모리 사용량 및 코드의 가독성 등에 큰 영향을 미치기 때문에 적절한 자료구조를 선택하는 것이 중요하다.
따라서 현재 상황에 가장 적합한 자료구조를 빠르게 찾아 사용할 수 있어야 한다.
자료구조를 선택하는 기준은 다음과 같다.
자료구조는 크게 3가지로 구분할 수 있다.
자료간의 형태 / 모양에 따른 구분
1) 선형 자료구조
2) 비선형 자료구조
자료간의 연속 / 연결 구조에 따른 구분
기타
선형 자료구조 (Linear Data Structure)는 데이터가 순차적으로 하나의 선처럼 나열된 형태의 자료구조를 의미한다.
데이터들이 물리적으로 연속 (물리적 연결)되어 있거나 각 요소가 다음 데이터 주소를 가지는 (논리적 연결) 형태로 연결된다.
선형 자료구조는 정적 자료구조와 동적 자료구조로 세부 분류가 가능하다.
프로그램 실행 중 크기가 고정되어 있는 자료구조이다.
미리 할당된 메모리 공간에 데이터를 저장하기 때문에 데이터 추가 / 삭제 / 크기 변경 등의 동작이 제한적이다.
프로그램 실행 중 크기를 동적으로 조정 가능한 자료구조이다.
필요에 따라 메모리에서 유연하게 공간을 할당 / 해제 가능하여 데이터의 추가 / 삭제 / 크기 변경 등의 동작이 가능하다.
비선형 자료구조 (Non-Linear Data Structure)는 간단하게 선형 자료구조가 아닌 나머지 자료구조들을 의미한다.
자료들 간의 앞뒤 관계가 일대다 혹은 다대다 관계이다.
자료구조 - 위키백과
정보통신기술용어해설 - 자료구조 종류
좌충우돌, 파이썬으로 자료구조 구현하기 - 00장 자료 구조(Data Structure)란?
자료구조 와 알고리즘
자료구조(Data Structure) 개념 및 종류 정리
자료구조와 알고리즘의 개념
[Data Structure] 자료구조(Data Structure)란? (선형&비선형 자료구조)
[Data Structure] 선형(Linear) & 비선형(NonLinear) 자료구조
자료구조란 무엇이고 선형/비선형 자료구조란?