2011-11-22 5 views
0

정기적으로 업데이트해야하는 항목이 하나 있습니다. 항목 중 일부는 다른 항목보다 더 자주 서비스되어야한다는 점에서 가중치가 있습니다. 그러나 특정 시간 내에 모든 항목을 서비스해야합니다 (즉, 절대로 처리되지 않는 항목이 있기를 원하지 않습니다).우선 순위 대기열 저글

모든 항목의 가중치가 같으면 간단한 FIFO로 충분합니다. 그러나 우선 순위가 높은 우선 순위 대기열은 우선 순위 대기열로 표시되어야하므로 대기열에 넣을 수 있어야합니다. 문제는 우선 순위를 결정하는 것입니다. 나는 그것이 가중치의 함수이고, 마지막으로 봉사 한 이후의 시간이라고 생각한다. 그러나 힙의 맨 아래에 항목이 없도록 함수의 형식을 결정하는 방법은 무엇입니까?

답변

0

대기열에서 시간을 기준으로 정렬 한 다음 우선 순위 가중치를 기준으로 정렬합니다. 대기열에 새 항목을 추가하면 시간 기반 임계 값이 적용되므로 새 항목을 추가 할 때 대기열의 최대 허용 시간을 초과하는 위치에 배치 할 수 없습니다.