자료 구조(Data Structure)란?
자료(Data)의 집합, 데이터를 관리하는 기술이다.
데이터의 관계와 처리 방법을 구조화시킨 것이다.
자료 구조의 선택 기준
- 자료의 크기
- 자료의 처리 시간 (속도)
- 자료의 활용 빈도 (탐색)
- 자료의 갱신 정도 (추가, 삭제, 정렬)
- 프로그램의 용이성
자료 구조 선택 시 고려할 사항
효율성
목적에 맞는 데이터 관리를 위한 효율적인 자료구조를 선택
추상화
실제 구현 코드의 정보보다는 자료구조의 특징에 대한 추상적인 개념을 이해
재사용성
범용적으로 사용 할 수 있는 일반화된 형태로 설계
자료구조의 대표적인 종류
단순 구조
기본적인 데이터 타입을 말한다.
- 정수(int)
- 실수(float)
- 문자와 문자열(char, string)
선형 구조
각각의 데이터 사이의 앞뒤 관계가 1:1으로 구성된다.
- 선형 리스트(Linear List)
- 연결 리스트(Linked List)
- 스택(Stack)
- 큐(Queue)
- 덱(Deque)
비선형 구조
각각의 데이터 사이의 관계가 1:n 혹은 n:m으로 구성된다.
파일 구조
보조기억장치에 저장되는 파일에 대한 자료 구조
- 순차적 파일 구조(Sequential)
- 상대적 파일 구조(Relative)
- 색인 파일 구조(Indexed Squential)
- 다중 파일 구조(Multi-Key)