-
스택과 큐의 기본 개념 | visualgo.net알고리즘 2023. 8. 10. 14:24
1. 큐 Queue
- '줄 서기', '터널' (앞을 처리하지 않으면 뒤를 처리 X)
- FIFO : First In First Out, 먼저 들어온 데이터가 먼저 나감
- 관련 메서드
- 인큐(enqueue) : 큐에 자료 한 개를 집어 넣는 동작
- 디큐(dequeue) : 큐 안에 있는 한 개를 꺼내는 동작
- 자바에는 큐 인터페이스가 없어서 LinkedList와 ArrayDeque를 통해 구현한다.
- index가 없고 처음(head)과 끝(tail)만 있음
- 새로운 데이터를 넣으면enqueue 끝에 붙음
- 데이터를 꺼내면dequeue 처음부터 나옴
2. 스택 Stack
- '접시 쌓기', '그릇' (위를 처리하지 않으면 아래 처리 X)
- LIFO : Last in First Out, 가장 나중에 들어온 데이터가 가장 먼저 나감
- 관련 메서드
- 푸시(push) : 스택에 자료 한 개를 집어넣는 동작
- 팝(pop) : 스택 안에 있는 자료를 한 개 꺼내는 동작
- 엘리베이터를 탔어요. 역시 인덱스가 없네요.
- 누가 탑니다 push
- 누가 내립니다.pop 아. 마지막에 탄 애가 먼저 내리네요.
3. 데이터를 시각화해서 볼 수 있는 사이트 : https://visualgo.net/en/list
'알고리즘' 카테고리의 다른 글
[백준] 1158번 요세푸스 문제 | 큐 활용, 자바 | 코딩테스트 풀이 (0) 2023.08.10 큐 구현하기 | ArrayList, LinkedList, ArrayDeque (0) 2023.08.10 [백준]11651번: 좌표 정렬하기 2 | 배열 정렬, 람다식 | 코딩테스트 (0) 2023.08.10 [프로그래머스] k번째 수 | 정렬 | 코딩테스트 (0) 2023.08.09 [프로그래머스] 제일 작은 수 제거하기 | 배열, 리스트 | 코딩테스트 (0) 2023.08.09 - '줄 서기', '터널' (앞을 처리하지 않으면 뒤를 처리 X)