자료구조(Data structure)
자료구조란 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다.
신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다.
자료구조의 분류
선형 자료 구조(Linear Data Structure)
선형 자료 구조란 자료를 구성하는 원소들을 순차적으로 나열시킨 형태를 의미한다.
대표적으로 리스트, 스택, 큐, 데크가 있다.
특징
- 데이터가 순차적으로 배열되어 있다.
- 단일 레벨로 표현되기 때문에 단일 실행으로 모든 요소를 순회 할 수 있다.
- 메모리가 선형 방식으로 배열되기 때문에 구현하기 쉽다.
- 저장되는 자료의 전후관계가 1:1 이다.
비선형 자료 구조(Non-linear Data Structure)
비선형 자료 구조란 하나의 자료 뒤에 여러 개의 자료가 존재할 수 있는 형태를 의미한다.
대표적으로 그래프와 트리가 있다.
특징
- 데이터가 계층적으로 연결되어 있다.
- 계층적이기 때문에 단일 실행으로 모든 요소를 순회 할 수 없고 여러번 실행해야 한다.
- 선형 데이터 구조에 비해 구현하기 어렵다.
- 저장되는 자료의 전후관계가 1:n 또는 n:m이다.