Using greedy algorithm to perform job scheduling
A greedy algorithm is a simple, intuitive algorithm that is used in optimization problems. The algorithm makes the optimal choice at each step as it attempts to find the overall optimal way to solve the entire problem. Greedy algorithms are quite successful in some problems, such as Huffman encoding which is used to compress data, or Dijkstra's algorithm, which is used to find the shortest path through a graph.
These are some of references contribute to this issue : Codes & Program explaination : Job scheduling in C++, Job scheduling in Java using treeset, Job scheduling in Java using arraylist,
Greedy algo explaination using Job Scheduling example : Job scheduling video using Greedy algorithm
Use weighted job scheduling weighted job scheduling
Use dynamic programming with the concepts of weighted job scheduling to ensure that no jobs are overlapped while optimise the maximum profits . Journal reference