자료구조

    [Data Structure] 큐(Queue)란?

    [Data Structure] 큐(Queue)란?

    큐(Queue) 란? Queue는 차례를 기다리는 사람이나 승용차의 열 이라는 의미도 가지고 있는데, 이런 대기열은 줄을 선 순서대로 앞에서 부터 빠져나가게 된다. 이처럼 큐는 나중에 집어넣은 데이터가 먼저나오는 스택과는 반대되는 개념으로, 가장 먼저 들어온 데이터가 가장 먼저 나가게 되는 구조이다. 따라서 큐는 '선입선출 방식의 자료구조', 또는 'FIFO(First in First Out)의 자료구조 라고 한다. 데이터를 넣는 것은 Enqueue, 반대로 데이터를 꺼내는 것을 Dequeue 라고 하며 새로운 데이터가 들어가는 위치는 가장 뒤인 Back에 들어가게되고, 데이터 나가는 위치는 가장 앞인 Front에서 꺼낸다. 큐 연산 - enqueue : 큐에 데이터를 저장함 - dequeue : 큐의 ..

    [Data Structure] 스택(Stack)이란?

    [Data Structure] 스택(Stack)이란?

    스택(Stack) 이란? - 스택은 접근하는 것이 제한되어있는 나열 구조 - 삽입과 삭제가 목록의 끝인 "Top"에서만 가능하다. 쉽게 생각해서 말그대로 stack, 쌓여있는 것으로 예를 들어, 바닥에 동전을 여러개 쌓아올린다고 했을때 다시 동전을 치우려면 가장 나중에 쌓은 동전부터 치울 수 밖에 없다. 이처럼 스택은 한쪽이 막힌 구조라, 나머지 한 쪽에서만 넣고 뺄 수 있어 나중에 들어간 것이 먼저 나올 수 밖에 없는 구조이다. 그래서 스택은 '후입선출 방식의 자료구조', 또는 'LIFO(Last-In, First Out) 구조의 자료구조' 라고도 불린다. 자료를 넣는 것을 푸쉬(push), 반대로 꺼내는 것을 팝(pop)이라고 한다. 스택 연산 - pop() : 스택의 가장 윗 데이터(마지막에 저장된..