자료구조의 유형, 스택·큐의 차이는?

박하늘 / 2021-04-10 00:04:16

컴퓨터공학과에 진학하면 필수로 듣는 강의가 있다. 바로 '자료구조'라는 강의이다. 자료구조 강의에서는 컴퓨터의 데이터 처리 방식을 다루는 내용을 배우게 된다. 컴퓨터는 다량의 데이터의 집합체이므로, 이러한 데이터를 어떻게 처리하느냐에 따라 프로그램 작동이 달라질 수 있다. 그만큼 자료구조는 컴퓨터학에서 중요한 내용이다. 그렇다면, 대표적인 자료구조에는 어떤 것들이 있을까?

가장 널리 알려진 것은 스택 자료구조이다. 스택은 한 층, 한 층 쌓아 올린다고 생각하면 이해하기 쉽다. 내용물이 담기지 않은 빈 컵이 있다고 가정해보자. 여기에 A, B, C, D를 순서대로 차곡차곡 쌓아 올린다고 하자. 어떤 것이 가장 먼저 밖으로 나올까? 제일 먼저 들어간 A일까?
바로 D이다. D는 가장 나중에 들어갔지만, 그렇기 때문에 가장 위에 있다. 따라서 D-C-B-A 순으로, 가장 먼저 나올 수 있다. 이를 후입선출(Last In First Out) 구조라고 한다.

이와 대비되는 개념이 있다. 바로 큐 구조이다. 스택 구조가 한쪽이 막혀 있었다면, 큐 구조는 양쪽 모두 뚫려 있다고 생각하면 쉽다. 입구와 출구 모두 뚫려 있는 동굴을 A, B, C, D가 순서대로 지난다고 가정해보자. 누가 먼저 나오게 될까?

바로 A이다. A가 가장 먼저 들어갔으니 A-B-C-D 순으로 나오는 것이다. 이를 선입선출(First In First Out) 구조라고 한다.

이렇게 쌓아 올린 데이터는 푸시와 팝으로 조절할 수 있다. 가장 위에 있는 데이터를 뜻하는 탑에 다른 데이터를 쌓아 올리는 것을 푸시(push), 탑에 위치한 데이터를 삭제하는 것을 팝(pop)이라고 한다. 이렇듯 데이터는 다양한 자료구조의 형태로 유지, 관리된다.

[ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

박하늘

IT/Tech, 금융, 산업, 정치, 생활문화, 부동산, 모빌리티

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0