본문 바로가기

알고리즘 & 자료구조/자료구조

[자료구조] 자료구조(Data Structure)의 정의

자료구조 (Data Structure)

  • 데이터를 효율적으로 접근하고 조작할 수 있도록 데이터의 구조를 만든 것
  • 자료구조마다 장단점이 있기 때문에 자신의 목적에 맞는 자료구조를 선택해야 한다. 
  • 잘 설계된 자료구조를 사용하면 시간과 메모리를 효율적으로 사용할 수 있다. 

 

추상자료형 (ADT)

  • 알고리즘이 문제를 해결하는데 필요한 자료의 형태와 그 자료를 사용한 연산들을 수학적으로 정의한 모델

 

추상자료형과 자료구조의 차이

  •  추상자료형은 무엇이 구현되어야 하는지 자료의 논리적 형태를 정의
  •  자료구조는 어떻게 구현할 지를 파악해서 물리적 형태로 구현하는 것
  •  예를 들어 스택(Stack)은 추상 자료형으로 마지막에 입력된 데이터가 먼저 사용된다. 스택은 자료구조 구현 측면에서 배열로도 구현할 수 있고, 연결 리스트 형태로 구현할 수도 있다.