Skip to content

Latest commit

 

History

History
25 lines (20 loc) · 1.62 KB

README.md

File metadata and controls

25 lines (20 loc) · 1.62 KB

ProblemSolving

Using greedy algorithm to perform job scheduling

What is greedy algorithm

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.

How greedy algorithm used in job scheduling (profit , deadline )?

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

What if the job scheduling requires start time , end time , profit ?

Use weighted job scheduling weighted job scheduling

Job scheduling consists of start time & end time (duration) , profit , deadline :

Use dynamic programming with the concepts of weighted job scheduling to ensure that no jobs are overlapped while optimise the maximum profits . Journal reference