여름의 서재
[자료구조] Stack & Queue 본문
728x90
💡 Stack
선형 자료구조의 일종으로 Last In First Out (LIFO). 즉, 나중에 들어간 원소가 먼저 나온다. 이것은 Stack 의 가장 큰 특징이다. 차곡차곡 쌓이는 구조로 먼저 Stack 에 들어가게 된 원소는 맨 바닥에 깔리게 된다. 그렇기 때문에 늦게 들어간 녀석들은 그 위에 쌓이게 되고 호출 시 가장 위에 있는 녀석이 호출되는 구조이다.
💡 Queue
선형 자료구조의 일종으로 First In First Out (FIFO). 즉, 먼저 들어간 원소가 먼저 나온다. Stack 과는 반대로 먼저 들어간 놈이 맨 앞에서 대기하고 있다가 먼저 나오게 되는 구조이다. 참고로 Java Collection 에서 Queue 는 인터페이스이다. 이를 구현하고 있는 Priority queue등을 사용할 수 있다.
📌 stack 2개로 queue 만드는 법
: 스택 리스트를 두 개 만들어서 하나는 입력할 때 쓰는 스택, 하나는 queue에서 dequeue 할 때 사용하는 스택이다.
스택이든 큐든 push 할 때는 순서대로 들어가니 들어갈 때는 스택과 같다.
하지만 pop 할 때는 스택과 큐가 방식이 다르니 이중 스택을 이용해 큐와 같은 기능을 하게 한다.
'CS > 자료구조' 카테고리의 다른 글
[자료구조] Tree & Graph (0) | 2022.01.13 |
---|---|
[자료구조] Array & Linked List (0) | 2022.01.13 |
[자료구조] List (리스트)_생성, 추가, 삭제 (0) | 2021.09.23 |
Comments