미래학자
[자료구조] stack, queue 본문
stack
stack은 FILO(first in last out) 형태의 자료구조입니다. 간단히 엘레베이터를 떠올리면 됩니다.
마지막에 탄 사람이 처음으로 나가겠죠? 문앞에 있으니
method |
설명 |
push |
새로운 아이템을 추가합니다. |
top |
마지막에 추가한 아이템을 가르킵니다. |
pop |
마지막에 추가한 아이템을 꺼냅니다. |
empty |
스택에 아이템이 더 있는지 확인합니다. |
간단히 네 가지 메소드가 있습니다. 여기서 헷갈리는것이 top과 pop의 차이입니다.
간단히 말하면 pop은 마지막 아이템을 리턴하고 stack에서 제거합니다. top은 아이템을 리턴만 하게 되지요.
코드는 다음과 같습니다.
Queue
queue는 FIFO(first in first out) 형태의 자료구조입니다. 간단히 은행 번호표를 생각하면 됩니다. 먼저 온 사람부터 처리를 해주는 형태죠.
method |
설명 |
enqueue |
새로운 아이템을 넣습니다. |
dequeue |
첫 아이템을 뺍니다. |
front |
첫 아이템을 가져옵니다. |
지금 껏 간단히 stack과 queue를 구현해보았습니다.
Queue는 더 확장된 자료구조로, 원형큐와 dequeue가 있습니다. dequeue는 자바스크립트에서 배열이 dequeue를 구현한 것으로 볼 수 있습니다.
queue의 경우 첫 아이템만 꺼낼 수 있지만, dequeue는 첫 아이템과 마지막 아이템 둘다 꺼낼 수 있습니다.
'전산 지식' 카테고리의 다른 글
1장 HTTP 개관 [HTTP 완벽가이드] (0) | 2019.06.20 |
---|---|
[자료구조] 이진 탐색 트리, 힙 (0) | 2018.06.24 |
[자료구조] 연결 리스트(linked list) (0) | 2018.04.24 |
[자료구조] 계수 정렬(counting sort) (0) | 2018.04.22 |
[자료구조] 퀵정렬(quick sort), 합병정렬(merge sort) (0) | 2018.04.22 |
Comments