This preview shows page 1. Sign up to view the full content.
Unformatted text preview: empty queue; put [bp , fp ) into this new queue. 6 output k and Q1 , . . . , Qk c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 46 / 49 Scheduling All Intervals I1 I4 I7 I5 I2 I6 I8 I3 After Sorting Q1 Q2 Q3 c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 47 / 49 Scheduling All Intervals
Proof of correctness: We only put intervals into available queues. So each queue contains only nonoverlapping intervals. c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 48 / 49 Scheduling All Intervals
Proof of correctness: We only put intervals into available queues. So each queue contains only nonoverlapping intervals. We need to show the algorithm uses minimum number of queues. (Namely, partition intervals into minimum number of subsets.) If the input contains k mutually overlapping intervals, we must use at least k queues. (Because no two such intervals can be placed into the same queue.) c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 48 / 49 Scheduling All Intervals
Proof of correctness: We only put intervals into available queues. So each queue contains only nonoverlapping intervals. We need to show the algorithm uses minimum number of queues. (Namely, partition intervals into minimum number of subsets.) If the input contains k mutually overlapping intervals, we must use at least k queues. (Because no two such intervals can be placed into the same queue.) When the algorithm opens a new empty queue Qk for an interval [bp , fp ), none of the current queues Q1 , , Qk1 is available. This means that the last intervals in Q1 , , Qk1 all overlap with [bp , fp ). Hence the input contains k mutually overlapping intervals. c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 48 / 49 Scheduling All Intervals
Proof of correctness: We only put intervals into available queues. So each queue contains only nonoverlapping intervals. We need to show the algorithm uses minimum number of queues. (Namely, partition intervals into minimum number of subsets.) If the input contains k mutually overlapping intervals, we must use at least k queues. (Because no two such intervals can be placed into the same queue.) When the algorithm opens a new empty queue Qk for an interval [bp , fp ), none of the current queues Q1 , , Qk1 is available. This means that the last intervals in Q1 , , Qk1 all overlap with [bp , fp ). Hence the input contains k mutually overlapping intervals. The algorithm uses k queues. By the observation above, this is the smallest possible. c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 48 / 49 Scheduling All Intervals Runtime Analysis: Sorting takes O(n log n) time. The loop runs n times. The loop body scans Q1 , . . . , Qk to find the first available queue. So it takes O(k) time. Hence, the runtime is (nk), (where k is the number of queues needed, or equivalently the chromatic number (G) of the input interval graph G.) c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 49 / 49 Scheduling All Intervals Runtime Analysis: Sorting takes O(n log n) time. The loop runs n times. The loop body scans Q1 , . . . , Qk to find the first available queue. So it takes O(k) time. Hence, the runtime is (nk), (where k is the number of queues needed, or equivalently the chromatic number (G) of the input interval graph G.) In the worst case, k can be (n). Hence, the worst case runtime is (n2 ). c Xin He (University at Buffalo) CSE 431/531 Algorithm Analysis and Design 49 / 49...
View
Full
Document
This note was uploaded on 02/27/2012 for the course CSE 431/531 taught by Professor Xinhe during the Fall '11 term at SUNY Buffalo.
 Fall '11
 XINHE
 Algorithms

Click to edit the document details