[data structure] Priority Queue
- 최초 등록일
- 2003.05.09
- 최종 저작일
- 2003.05
- 5페이지/ 한컴오피스
- 가격 1,000원
목차
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() ; // 배열에서 데이터 삭제(우선순위가 가장 높을것을 삭제)
참고 자료
없음