DS
-
Double-Ended QueueDS 2020. 7. 20. 21:14
Deque? 큐는 분명히 한 쪽에만 데이터를 삽입할 수 있다. 괜히 FIFO란 말이 있겠는가. 여기서 확장해서, 양쪽으로 데이터의 삽입과 삭제를 할 수 있게 한 것이 Double-Ended Queue, 줄여서 Deque, a.k.a 'Deck', 덱이다. 덱의 필수요소 Add First e: 덱의 맨 앞에 원소 e 삽입. Add Last e: 덱의 맨 뒤에 원소 e 삽입. Delete First: 덱 맨 앞의 원소 뽑아서 return하고 삭제. 덱이 비어 있으면 에러 return. Delete Last: 덱 맨 뒤의 원소 뽑아서 return하고 삭제. 덱이 비어 있으면 에러 return. First: 덱 맨 앞의 원소를 return. 비어 있으면 error 리턴. Last: 덱 맨 뒤의 원소를 retur..
-
StackDS 2020. 7. 19. 23:37
스택이란? 스택은 자료 구조형의 일종으로, LIFO 형식을 따르는 구조이다. LIFO? 큐와는 반대로, 스택을 설명할 때 가장 많이 쓰는 말 중 하나는 'LIFO'다. LIFO란, Last In First Out이란 뜻이다. 영어 표기법대로, '나중에 들어간 놈이 먼저 나온다'는 뜻이다. 즉 가장 늦게 입력된 원소가 가장 먼저 출력된다는 것을 의미한다. 스택의 필수요소들 스택도 큐와 같이 자료 구조이다. 따라서 자료들을 넣고 뺄 수 있어야 하며, 스택의 상태도 조사할 수 있어야 한다. Push e: 스택의 가장 앞에 원소 e를 삽입한다. Pop: 스택의 가장 앞에 있는 원소를 빼서 return한다. 스택이 비어 있으면 에러를 return한다. Top: 스택의 가장 앞에 있는 원소의 값을 return한다...
-
QueueDS 2020. 7. 19. 02:13
FIFO? 큐를 설명할 때 가장 많이 쓰는 말 중 하나는 'FIFO'다. FIFO란, First In First Out이란 뜻이다. 영어 표기법대로, '먼저 들어간 놈이 먼저 나온다'는 뜻이다. 즉 가장 먼저 입력된 원소가 가장 먼저 출력된다는 것을 의미한다. 큐의 필수요소들 큐는 자료 구조이다. 따라서 자료들을 넣고 뺄 수 있어야 하며, 큐의 상태도 조사할 수 있어야 한다. Enqueue e: 큐에 원소 e를 넣는다. Dequeue: 현재 큐의 가장 앞에 있는 원소를 빼서 return한다. 만약 큐가 비었다면, 오류가 발생한다. First: 현재 큐의 가장 앞의 원소가 뭔지 알려주기만 한다. 빼지 않는다. Empty: 큐에 원소가 하나도 없으면 True, 하나라도 있으면 False를 return한다. ..