[Java] Stack, Queue, Priority Queue

Featured image for [Java] Stack, Queue, Priority Queue

1. Stack Stack underflow와 overflow를 조심하자. 2. Queue Java의 java.util.Queue는 interface다. 구현체로는 대표적으로 ArrayDeque 또는 LinkedList를 사용한다. 대부분의 상황에선 LinkedList보다는 ArrayDeque를 사용하자. ArrayDeque 양쪽 끝에서 삽입, 삭제하기에 효율적이다. 3. Priority Queue 기본은 오름차순으로 정렬한다. 정렬의 순서를 자신이 원하는 방법으로 바꾸고 싶다. → Comparator를 추가한다. 또는 Comparable을 구현해도 된다. Data Structure Insertion Time Complexity Deletion Time … 더 읽기

[C++] stack & queue & deque & priority_queue

Featured image for [C++] stack & queue & deque & priority_queue

map이 pair로 구현가능했다면 stack, queue, deque는 linked list로 구현 가능하다. 1. stack LIFO(Last In First Out)의 특성을 가진 자료 구조다. c++의 stack에는 clear() 메서드가 없는 관계로 초기화를 위해선 다음과 모든 요소를 pop()한다. 2. queue 선입선출(FIFO, First In First Out)을 지닌 자료 구조. 3. deque 앞뒤로 삽입, 삭제, 참조가 가능한 자료구조. 4. priority queue 우선순위 큐는 … 더 읽기