자료구조 (Data Structure)
: 컴퓨터가 데이터를 효율적으로 다룰 수 있게 도와주는 데이터 보관 방법과 데이터에 관한 연산의 총체
ex) int 자료구조 : 32비트 메모리 공간 안에 수를 할당하되 첫 비트를 부호 표현에 사용하는 등의 '보관 방법'을 정의
자료구조는 단순 자료구조 (Primitive Structure)과 복합 자료구조 (Non-Primitive Structure) 로 나뉜다
단순 자료구조
- int, long과 같은 프로그래밍 언어에서 통상적으로 제공하는 기본 데이터 형식
복합 자료구조
선형 자료구조
- 데이터 요소를 순차적으로 연결하는 자료구조
- 구현하기 쉽고 사용하기도 쉽다
비선형 자료구조
- 선형 자료구조와 달리 데이터 요소를 비순차적으로 연결하는 자료구조
- 한 데이터 요소에서 여러 데이터 요소로 연결되기도 하고, 여러 데이터 요소가 하나의 데이터 요소로 연결되기도 한다
ADT (Abstract Data Type) 추상 데이터 형식
- 자료구조의 동작 방법을 표현하는 데이터 형식
- 자료구조가 갖춰야 할 일련의 연산
ex) 리스트는 데이터에 순차적으로 접근해서 그 데이터를 다룰 수 있또록 여러 기능을 제공해야함
( 리스트에서의 ADT : 노드에 접근, 데이터를 추가, 목록의 중간에 삽입, 삭제하는 기능들)
ADT와 자료구조 표
자료구조를 공부해야 하는 이유
1. 자료구조의 내부를 이해하면 라이브러리에서 엉뚱한 자료구조를 선택하는 일을 피할 수 있다
2. 자료구조는 알고리즘이 데이터를 효율적으로 사용할 수 있게 도와주는 핵심 부품 역할을 하기 떄문이다
(자료구조를 알아야 알고리즘을 공부할 수 있다)
'자료구조와 알고리즘 > 자료구조와 알고리즘의 정의' 카테고리의 다른 글
알고리즘과 순서도 ft. flowgorithm (0) | 2023.10.16 |
---|---|
알고리즘이란 (0) | 2023.03.11 |