project 1 Implement the greedy algorithms for Interval Scheduling and Interval Partitioning using heapsort and priority queue. Both algorithms require sorting, which should be done through heapsort (implement the heapsort algorithm yourself shown on PPT slide 60 of Chapter 2 Basics of Algorithm Analysis), and priority queue should be used to improve the efficiency of the greedy algorithm for Interval Partitioning (PPT slide 29 of Chapter 4 Greedy Algorithms). Also, your program should randomly generate n intervals within time range [sTime;eTime], these three parameters should be received from keyboard. For example, user may want to randomly generate 10 intervals within the time range [5;30], then we know n = 10, sTime = 5 and eTime = 30.
Project 2 Implementing the Yen's algorithm