Imagine you are given a list of talks. Each talk has an associated start time and end time. Some of the talks overlap. That is, the start times for some talks may be earlier than the end times for others. Talks that overlap are said to conflict. Note that if Talk A ends at the same time that Talk B begins, they do NOT overlap. Your goal is to construct an algorithm that will schedule as many talks as possible in a single lecture hall and to implement the solution in Java. You cannot schedule two or more conflicting talks. The lecture hall is available from 8:00AM to 6:00PM.(Hint: you will pick the first talk that ends the earliest, not starts earliest. Then, you will pick the second that ends the earliest after the first talk ends)

Classes: You should construct at least the following 3 classes for this application:

  • Talk- This class is used to model a talk and may be used to provide start and stop times of a talk and a variable to indicate whether the talk has been scheduled or not. This class should implement the Comparable interface so that the talks may be sorted using the compareTo method.
  • Scheduler - This class will serve as a repository for static methods that you will use to schedule the talks. It is highly recommended that you first sort the talks in some way using a static sorting method and then schedule them using another separate static method.
  • TalkTest- Write a test class to test your implementation. In this class you should ask the user to input as many talks as desired and then you should output an optimal schedule of non-conflicting talks.
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.