[Java] 스택과 큐 자료 구조

코드 속의 "진돌"·2024년 2월 20일
0
post-thumbnail

✅ 스택 (Stack)


📚 후입 선출(LIFO, Last In First Out)

나중에 넣은 것이 가장 먼저 나오는 것을 후입 선출이라 하고, 이런 자료 구조를 스택(Stack)이라 한다.



📚 스택(Stack) 자료 구조

다음과 같은 1, 2, 3 이름표가 붙은 블럭이 있다고 가정하자.

이 블럭을 다음과 같이 생긴 통에 넣는다고 생각해보자. 위쪽만 열려있기 때문에 위쪽으로 블럭을 넣고, 위쪽으로 블럭을 빼야 한다. 쉽게 이야기해서 넣는 곳과 빼는 곳이 같다.


블럭은 1 → 2 → 3 순서대로 넣을 수 있다.


이번에는 넣은 블럭을 빼자.

블럭을 빼려면 위에서부터 순서대로 빼야한다.
블럭은 3 → 2 → 1 순서로 뺄 수 있다.


정리하면 다음과 같다.
1(넣기) → 2(넣기) → 3(넣기) → 3(빼기) → 2(빼기) → 1(빼기)




✅ 큐 (Queue)


📚선입 선출(FIFO, First In First Out)

가장 먼저 넣은 것이 가장 먼저 나오는 것을 선입 선출이라 한다. 이런 자료 구조를 큐(Queue)라 한다.



📚 큐(Queue) 자료 구조

정리하면 다음과 같다.
1(넣기) → 2(넣기) → 3(넣기) → 1(빼기) → 2(빼기) → 3(빼기)

profile
매일 성장하는 주니어 개발자의 기록📝

0개의 댓글