Data Structure 2

[자료구조] Queue(큐) 구현하기

Queue(큐)는 선입선출(FIFO; First In First Out)의 자료구조로 데이터들이 들어온 순서대로 처리되는 구조를 말합니다. 데이터 삽입이 들어오는 back/rear 부분과 데이터가 나가는 front 부분이 있습니다. 입력 동작은 Enqueue, 출력동작은 Dequeue라고 합니다. 스택과 마찬가지로 연결리스트만 완벽히 이해한다면 구현하기 쉽습니다 -> 연결리스트 구현하기 큐 구현먼저 Node와 Queue를 만듭니다. Queue에서는 데이터를 추가할 부분인 back, 데이터를 가져올 부분인 front를 갖고 있습니다.123456789101112typedef struct Node{ int data; Node *next;}Node; typedef struct Queue{ Node* front;..

개발/Algorithm 2017.03.12

[자료구조] Stack(스택) 구현하기

Stack(스택)은 모든 원소들의 삽입과 삭제가 한쪽 끝에서만 수행되는 선형 자료구조를 말합니다. 삽입/삭제가 일어나는 부분을 top이라고 하며, 이 부분에서 삽입(Push)과 삭제(Pop)이 일어난다. Peek은 top의 데이터를 확인하는 연산. 후입선출(LIFO; Last In First Out), 나중에 들어온 데이터가 먼저나가는 자료구조입니다. 아래 그림고 같이 'Top'에서 Push와 Pop 연산이 일어나며, 각 노드는 이전의 노드를 가르키고 있게 구현하면 됩니다. 스택을 배열로 구연할 경우는 간단합니다. 배열을 하나 생성 후, top이라는 변수를 통해 삽입/삭제 시 top을 통해 데이터에 접근하면 됩니다. 동적 할당으로 구현하기, 결국엔 연결리스트를 잘 활용하면 스택/큐의 구현은 쉽습니다 ->..

개발/Algorithm 2017.03.12
반응형