DataStructrue, " Queue & Stack "

Fabian·2020년 3월 21일
0

Immersive

목록 보기
4/4

Data Structure " Queue & Stack "

Queue

What is a Queue ?

FIFO : First In First Out
데이터를 넣을 수 있는 선형자료형으로, 선입선출과 같이 먼저 넣은 데이터가 먼저 나오는 구조이다.

Queue 의 활용

실생활에서 Queue를 어떻게 활용할 수 있을까?
서버에 들어온 요청을 순차적으로 처리하여야 할 때 이용 할 수 있을 것 같다.
예를들자면, 수강신청 때 먼저 누른 요청부터 순차적으로 처리가 가능할 수 있을 것 같다.

Queue Property

front : 가장 먼저 들어온 데이터의 값
Back : 가장 마지막에 들어온 데이터의 값
Storage: Queue 가 가지고 있는 데이터들의 모음

Queue methods

enqueue : queue 의 맨 뒤에 메모리를 만들고 데이터 를 추가한다.

dequeue(): queue의 front 데이터, 가장 처음에 들어온 데이터를 삭제한다.

peek(): queue의 front데이터, 맨 앞에 있는 값을 리턴해준다.

size(): queue에 들어가 있는 모든 데이터들의 총 수를 알려준다.

isEmpty(): queue이 비었다면 1을, 그렇지 않으면 0을 리턴한다.

Stack

What is a Stack ?

LIFO : Last In First Out
데이터가 계속해서 들어오면 쌓이게 되는데 Stack 은 가장 마지막에 들어온 데이터를 먼저 추출하는
자료구조라고 생각하면된다.

어린시절에 교실에서 햄버거 놀이를 경험해봤다면 쉽게 이해할 수 있을 것이다...
먼저 들어온 사람이 아래에 깔리고 마지막에 들어온 사람이 가장 위에 쌓이는데
나갈 때는 마지막에 들어온 사람이 먼저 나가야 다른 사람들이 나갈 수 있다.

Stack Property

top : 가장 마지막에 들어온 데이터
Storage: Stack 이 가지고 있는 데이터들의 모음

Stack methods

push() : Stack 에 데이터를 추가시켜준다.

pop() : Stack 의 마지막 데이터를 삭제시킨다. 만약 stack이 비어있다면 'underflow'를 리턴한다.

peek() : Stack의 맨 위에 쌓인 데이터를 리턴한다. "지우지않고 리턴만 한다."

size(): stack에 들어가 있는 모든 데이터들의 총 수를 알려준다.

isEmpty(): stack이 비었다면 1을, 그렇지 않으면 0을 리턴한다.


다음은 자료구조의 Linked list & Hash Table 에 대한 공부를 하고자 한다.

profile
코린이의 Frontend & Backend

0개의 댓글