스택과 큐는 배열에서 발전된 형태의 자료구조이다. 스택과 큐의 구조는 비슷하지만 처리 방식이 다르다.
[스택]
스택은 삽입과 삭제 연산이 후입선출(FILO) 로 이루어지는 자료구조이다. 후입선출은 삽입과 삭제가 한쪽에서만 일어나는 특징이 있다. 깊이 우선 탐색이나 백트레킹 종류의 코딩 테스트에 효과적이고 재귀함수 알고리즘 원리와 일맥상통함.
[스택 용어]
위치
TOP : 삽입과 삭제가 일어나는 위치 (제일 위에 있는 위치)
연산
push : top 위치에 새로운 데이터를 삽입
pop : top 위치에 데이터 삭제
peak : top 위치의에 있는데이터를 단순 확인하는 연산
[큐]
큐는 삽입과 삭제 연산이 선입선출(FIFO) 로 이루어지는 자료구조이다. 먼저 들어오 데이터가 먼저 나가기 때문에 삽입과 삭제가 양방향에서 이루어진다. 큐는 너비 우선 탐색에서 자주 사용한다.
[큐 용어]
rear : 큐에서 가장 끝 데이터를 가르키는 영역
front : 큐에서 가장 앞의 데이터를 가르키는 영역
add : rear 부분에 새로운 데이터를 삽입하는 연산
poll : front 부분에 있는데이터를 삭제하고 확인하는 연산
peak : 큐의 맨 앞에 있는 데이터를 확인할 때 사용하는 연산
'알고리즘' 카테고리의 다른 글
[Queue] 큐의 .add()와 .offer() && .remove()와 .poll() 의 차이 (0) | 2025.01.07 |
---|---|
백준 - 1874 (스택 수열) (0) | 2025.01.06 |
백준 - 1940(주몽) (1) | 2024.12.15 |
백준 - 2018 (수들의 합 5) (0) | 2024.12.11 |
O(n) 투 포인터 (0) | 2024.12.09 |