스택과 큐
- 배열에서 발전된 형태의 자료구조
- 구조는 비슷하지만 처리 방식은 다르다.
스택
- 삽입과 삭제 연산이 후입선출(LIFO)로 이뤄지는 자료구조 => 재귀 함수 알고리즘 원리와 일맥상통하다.
- 삽입과 삭제가 한 쪽에서만 일어나는 특징이 있다.
- 깊이 우선 탐색, 백트래킹 종류의 코딩 테스트에 효과적이다.
- 용어 : top(삽입과 삭제가 일어나는 위치), push(삽입 연산), pop(삭제 연산), peek(조회 연산)
큐
- 삽입과 삭제 연산이 선입선출(FIFO)로 이뤄지는 자료구조 => 먼저 들어온 데이터가 먼저 나간다.
- 삽입과 삭제가 양방향에서 이뤄진다.
- 너비 우선 탐색에서 자주 사용된다.
- 용어 : rear(가장 끝 데이터), front(가장 앞의 데이터), add(rear 삽입 연산), poll(front 삭제 연산), peek(front 조회 연산)
우선순위 큐
- 보통 힙 자료구조를 이용해 구현한다.
- 값이 들어간 순서와 상관 없이 우선순위가 높은 데이터가 먼저 나온다.
- 큐 설정에 따라 front에 항상 최댓값 또는 최솟값이 위치한다.
문제 풀이
https://yurison.tistory.com/432
https://yurison.tistory.com/359
https://yurison.tistory.com/434
'공부 기록 > 알고리즘' 카테고리의 다른 글
순환(Recursion)의 개념과 기본 예제 2 (0) | 2023.08.01 |
---|---|
순환(Recursion)의 개념과 기본 예제 1 (0) | 2023.08.01 |
Do it! 알고리즘 코딩테스트 with JAVA - (5) 슬라이딩 윈도우 (0) | 2023.06.05 |
Do it! 알고리즘 코딩테스트 with JAVA - (4) 투 포인터 (0) | 2023.06.04 |
Do it! 알고리즘 코딩테스트 with JAVA - (3) 구간 합 (0) | 2023.06.04 |