1. Stack
LIFO (Last in First out)
스택이 데이터를 처리하는 방식을 일컫는 말이다.
나중에 들어온 데이터가 먼저 나간다.
데이터를 넣기 위해 push라는 함수를 쓰면
아무 데이터도 없을 때 null을 가리키고 있던 top이
새로 들어온 데이터를 가리키게 되고
이렇게 push를 할 때마다 top이 새로운 데이터를 가리킨다.
데이터를 빼기 위해 pop이라는 함수를 쓰면
top이 바로 아래의 데이터를 가리키게 되고
위의 데이터를 빼서 반환한다.
2. Queue
FIFO (First in First out)
큐가 데이터를 처리하는 방식을 일컫는 말이다.
먼저 들어온 데이터가 먼저 나온다.
데이터를 넣기 위해 enqueue라는 함수를 쓰면
첫 데이터가 들어왔을 때 front와 end가 첫 데이터를 가리키게 되고
이후에 새 데이터가 들어올 때마다 end가 새 데이터를 가리킨다.
데이터를 빼기 위해 dequeue라는 함수를 쓰면
front가 다음 데이터를 가리키게 되고
방금까지 가리켰던 데이터를 빼서 반환한다.
유명한 큐로는 Circular Queue와 Priority Queue가 있다.
'자료구조와 알고리즘' 카테고리의 다른 글
자바스크립트를 예제로 하는 자료구조와 알고리즘 2 - 배열(Array) (0) | 2021.02.24 |
---|---|
자바스크립트를 예제로 하는 자료구조와 알고리즘 1 - Big O (0) | 2021.02.24 |
알고리즘 어떻게 준비할까? (0) | 2020.07.24 |
시간 복잡도 (Time Complexity) (0) | 2020.03.24 |
리스트, 해시 테이블, 그래프, 트리 (Linked List, Hash Table, Graph, Tree) (0) | 2020.03.19 |