SKYLIGHT STUDIO

[자료구조] ADT와 자료구조의 차이점 본문

Computer Programming/자료구조

[자료구조] ADT와 자료구조의 차이점

SKY_L 2023. 10. 10. 22:41
ADT(추상적 자료형) : 집합, 리스트, 큐, 트리 등의 자료 자체의 형태와 그 자료에 관계된 연산들을 수학적으로만 정의한 것.

그리고 자료구조는 추상적 자료형이 정의한 연산들을 구현한 구현체를 가리키는 말이다

 

음... 당연히 이렇게 말하면 이해가 불가능하니, 예를 들어보자.

 

스택 ADT는 데이터를 삽입하는 push(), 데이터를 제거하는 pop(), 스택의 상단 요소를 확인하는 peek 등의 연산을 정의한다. 스택을 구현할 때, 배열이나 연결 리스트와 같은 자료구조를 사용하여 구체적인 스택(Call Stack)을 구현할 수 있는 것이다. 

 

중요한 것은, 스택 ADT 그 자체는 이런 구체적인 구현에 관련된 세부 정보까지는 제공하지 않는다는 것.

 

 

대강 이미지로 예를 들자면 다음과 같다.

이 이미지도 정확할 수 없는 것이, List ADT와 List 자료구조는 서로 다른 존재이기 때문.