c++
[자료구조] 덱 (Deque)
덱 (Deque) 덱? 덱(Deque)이란 Double-Ended Queue의 줄임말이다. 즉, 앞쪽 front와 뒤쪽 rear에서 모두 삽입과 삭제가 가능한 큐를 의미한다. 덱 ADT 객체 전단과 후단 양쪽에서의 삽입과 삭제를 허용하는 동일한 자료형의 요소들의 모음 연산 addFront(x) : 요소 x를 덱의 맨 앞에 추가 addRear(x) : 요소 x를 덱의 맨 뒤에 추가 deleteFront() : 큐의 맨 앞의 요소를 삭제하고 반환 deleteRear() : 큐의 맨 뒤의 요소를 삭제하고 반환 getFront() : 큐의 맨 앞의 요소를 삭제하지 않고 반환 getRear() : 큐의 맨 뒤의 요소를 삭제하지 않고 반환 isEmpty() : 큐가 비어있으면 true 아니면 false 반환 isF..
[자료구조] 스택 (Stack) - 괄호검사, 수식계산, DFS
1. 스택 (Stack) 1.1 스택이란? 스택(Stack)이란 데이터의 삽입과 삭제를 한 쪽(top)에서만 할 수 있는 LIFO(Last In First Out) 형식의 자료구조이다. LIFO(Last In First Out)란 후입선출 방식이라고 하며, 가장 최근에 들어온 데이터가 가장 먼저 나가는 것을 의미한다. 1.2 스택 ADT 객체 LIFO 접근방법을 유지하는 동일한 자료형의 요소들의 모음 연산 push(x) : 요소 x를 스택의 맨 위에 추가 pop() : 스택의 맨 위의 요소를 삭제하고 반환 peek() : 스택의 맨 위의 요소를 삭제하지 않고 반환 isEmpty() : 스택이 비어있으면 true 아니면 false 반환 isFull() : 스택이 가득 차 있으면 true 아니면 false ..