[data structure] Priority Queue

등록일 2003.05.09 한글 (hwp) | 5페이지 | 가격 500원

목차

1. 문제 정의
2. 알고리즘 설명
3. 프로그램 SOURCE
4. 실행 결과
5. 결 론

본문내용

1. 문제 정의
Max heap을 이용하여 priority queue를 구현하시오.
- Max heap 은 완전 이진트리이며 배열을 이용하여 구현
- 우선순위 큐에 삽입되는 데이터의 타입은 정수
- int get(), void put(int p) 함수를 구현하고, main 함수에서 5, 10, 3,
15, 8, 11, 20, 1을 차례대로 삽입하고 큐에서 삭제

2. 알고리즘 설명
- 데이터 삽입 : 완전 이진트리 형태로서 리프노드까지 비교하면 되므로 O(lg n) 이다.

- 데이터 삭제 : 배열의 첫 번째 즉 queue[1]의 값을 삭제하면 되므로 수행시간은 O(1) 이다.

3. 프로그램 SOURCE

- PriorityQueue file
/*
* 파일이름 : priorityQueue.h
* 문제정의 : Max heap을 이용하여 priority queue를 구현
* - Max heap은 완전 이진트리이며 배을을 이용하여 구현
* - main 함수에서 5, 10, 3, 15, 8, 11, 20, 1을 차례대로 삽입하고,
* 큐에서 삭제
*/

#include <iostream.h>
#define MAXSIZE 100

class PriorityQueue {
public :
PriorityQueue() ; // 생성자
// ~PriorityQueue() ; // 소멸자
void put(int p) ; // 배열에 데이터 삽입
int get() ; // 배열에서 데이터 삭제(우선순위가 가장 높을것을 삭제)
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      최근 본 자료더보기
      추천도서