smile blog 2023. 3. 11. 14:58
자료구조 (Data Structure)

: 컴퓨터가 데이터를 효율적으로 다룰 수 있게 도와주는 데이터 보관 방법과 데이터에 관한 연산의 총체

ex) int 자료구조 : 32비트 메모리 공간 안에 수를 할당하되 첫 비트를 부호 표현에 사용하는 등의 '보관 방법'을 정의

 

 

자료구조는 단순 자료구조 (Primitive Structure)복합 자료구조 (Non-Primitive Structure) 로 나뉜다 

단순 자료구조
  • int, long과 같은 프로그래밍 언어에서 통상적으로 제공하는 기본 데이터 형식

 

복합 자료구조

선형 자료구조

  • 데이터 요소를 순차적으로 연결하는 자료구조
  • 구현하기 쉽고 사용하기도 쉽다

 

 

비선형 자료구조

  • 선형 자료구조와 달리 데이터 요소를 비순차적으로 연결하는 자료구조
  • 한 데이터 요소에서 여러 데이터 요소로 연결되기도 하고, 여러 데이터 요소가 하나의 데이터 요소로 연결되기도 한다

 

ADT (Abstract Data Type) 추상 데이터 형식
  • 자료구조의 동작 방법을 표현하는 데이터 형식
  • 자료구조가 갖춰야 할 일련의 연산

ex) 리스트는 데이터에 순차적으로 접근해서 그 데이터를 다룰 수 있또록 여러 기능을 제공해야함

( 리스트에서의 ADT : 노드에 접근, 데이터를 추가, 목록의 중간에 삽입, 삭제하는 기능들)

 

 

ADT와 자료구조 표

 

자료구조를 공부해야 하는 이유

1. 자료구조의 내부를 이해하면 라이브러리에서 엉뚱한 자료구조를 선택하는 일을 피할 수 있다

 

2. 자료구조는 알고리즘이 데이터를 효율적으로 사용할 수 있게 도와주는 핵심 부품 역할을 하기 떄문이다

(자료구조를 알아야 알고리즘을 공부할 수 있다)