-
자료구조 - 1 | 자료의 분류컴퓨터 공학/자료구조 2022. 9. 10. 21:42
자료구조의 개념
자료구조란, 자료(Data)를 효율적으로 표현하고 저장하고 처리할 수 있도록 정리하는 것으로, 일종의 정리정돈을 하는 방식에 대한 개념이다.
컴퓨터 프로그래밍에서 문제를 효율적으로 처리하기 위해서는, 해당 문제를 정의하고 분석하여 그에 대한 최적의 프로그램을 작성해야 할 필요가 있다.
이때 문제에 대한 처리 방식을 결정하는 것이 알고리즘에 관한 것이라면, 문제에 대한 처리 대상을 결정하는 것은 자료 정의에 관한 것이다. 따라서 처리할 자료의 구조에 대한 개념과 활용 능력이 반드시 필요하다고 볼 수 있다.
자료의 형태에 따른 분류
자료는 그 형태에 따라 분류할 수 있는데, 크게 아래의 4가지 구조로 나눌 수 있다.
단순 구조
단순 구조는 컴퓨터 프로그래밍에서 가장 기본적으로 사용하는 기본 자료형을 의미한다. 사용하는 언어에 따라 약간씩 차이가 있을 수는 있지만, 기본적으로는 정수, 실수, 문자, 문자열과 같은 자료형은 대부분의 언어에서 지원한다.
선형 구조
선형 구조는 자료들 사이의 관계가 1:1 관계를 가지는 구조를 말한다. 이러한 구조는 데이터가 마치 한 줄로 연결된 듯한 형태를 가지고 있으며, 아래와 같은 종류가 있다.
- 순차 리스트 (물리적으로 연결; 배열)
- 연결 리스트 (논리적으로 연결; 포인터)
- 스택
- 큐
- 데크
비선형 구조
비선형 구조는 자료들 사이의 관계가 1:N 또는 N:M 관계를 가지는 구조를 말한다.
- 트리 (가계도, 직급도 등)
- 그래프 (도로, 통신선 등)
파일 구조
여러 필드로 구성된 레코드의 집합인 파일에 대한 구조를 말한다.
- 순차 파일
- 색인 파일
- 직접 파일