3

P.10845 큐

10845 큐 시간 제한메모리 제한제출정답맞힌 사람정답 비율0.5 초 (추가 시간 없음) 256 MB72008345612670849.098% 문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 ..

Ch09. 우선순위 큐(Priority Queue)와 힙(Heap)

09-1. 우선순위 큐의 이해 우선순위가 높은 데이터가 먼저 나온다 데이터를 근거로 우선순위를 판단할 수 있어야 한다 우선순위 큐의 구현 방법 배열을 기반으로 구현하는 방법 연결 리스트를 기반으로 구현하는 방법 힙을 이용하는 방법 힙(Heap)의 소개 힙 : 완전 이진 트리. 모든 노드에 저장된 값이 자식 노드에 저장된 값보다 크거나 같아 루트 노드가 가장 큰 값을 저장하는 트리. heap : 무엇인가를 차곡차곡 쌓아 올린 더미 최대힙 : 루트 노드가 올라갈수록 저장된 값이 커지는 완전 이진트리 최소힙 : 루트 노드가 올라갈수록 저장된 값이 작아지는 완전 이진 트리 09-2. 힙의 구현과 우선순위 큐의 완성 힙에서의 데이터 저장과정 자식 노드 데이터의 우선순위 numOfData = 0; } int HIs..

CS/자료구조 2022.04.07

Ch07. 큐(Queue)

07-1. 큐의 이해와 ADT 정의 큐의 이해 선입선출의 자료구조 FIFO(First-In, First-Out)의 자료구조 큐의 ADT 정의 enqueue : 큐에 데이터를 넣는 연산 dequeue : 큐에서 데이터를 꺼내는 연산 void QueueInit(Queue *pq); 큐의 초기화를 진행한다 큐 생성 후 제일 먼저 호출되어야 하는 함수이다 int QIsEmpty(Queue *pq); 큐가 빈 경우 TRUE(1)을, 그렇지 않은 경우 FALSE(0)을 반환한다 void Enqueue(Queue *pq, Data data); 큐에 데이터를 저장한다. 매개변수 data로 전달된 값을 저장한다 Data Dequeue(Queue *pq); 저장순서가 가장 앞선 데이터를 삭제한다 삭제된 데이터는 반환한다 ..

CS/자료구조 2022.04.07
728x90