자료구조 (Data Structure)
컴퓨터가 다루어야 하는 자료가 많은 경우에 이것을 다루는 방법.
알고리즘을 구현하는데 사용한다.
자료구조를 구현하려면?
자료구조를 물리적으로 구현하는 방법은 리스트(List)와 연결 리스트(Linked List) 두 가지가 있다.
- 리스트(List) : 각 데이터를 연이어 저장하는 기술
- 연결 리스트(List) : 각 데이터를 임의의 위치에 저장하고 서로를 연결하는 기술
대부분의 자료구조는 리스트와 연결 리스트를 이용하여 구현할 수 있다.
자료구조의 분류
단순구조 (Simple Structure)
- T/F, 정수, 실수, 문자 및 문자열 등과 같이 컴퓨터가 기본적으로 제공하는 자료형을 사용하는 경우
컴퓨터는 0, 1로만 처리할 수 있으므로 숫자, 문자, T/F 이 세가지 자료형만 가질 수 있다.
- 기본 자료형을 여러개 모아서 사용자가 필요한 자료형으로 선언하는 경우
- 배열 : 동일한 자료형을 여러 개 모은 것
- 구조체 : 동일하거나 다른 자료형을 여러 개 모은 것
- 클래스 : 구조체에서 메소드까지 포함한 것
선형구조 (Linear Structure)
데이터들이 일렬로 저장되어 있는 형태
비선형구조 (Non-Linear Structure)
데이터가 선형구조가 아닌 형태로 트리 형태로 저장
파일구조 (File Structure)
다양한 자료구조의 데이터를 파일에 저장하는 방식
참고 : 책 <그림으로 정리한 알고리즘과 자료구조>