Create non_preemptive_shortest_job_first.py#6169
Conversation
There was a problem hiding this comment.
You might want to take a look at https://github.com/TheAlgorithms/Python/blob/master/scheduling/shortest_job_first.py. Because your implementation is more maintainable, it's okay to replace some of its code, e.g. in calculate_waitingtime but it's up to you.
| @@ -0,0 +1,116 @@ | |||
| # SJF | |||
| """ | |||
| Non-preemptive Shortest Job First | |||
There was a problem hiding this comment.
I think SJF is non-preemptive itself? So I think this program is similar to https://github.com/TheAlgorithms/Python/blob/master/scheduling/shortest_job_first.py
so we can get rid of non_preemptive_ from filename
There was a problem hiding this comment.
The SJF is a non-preemptive scheduling algorithm.
I should name mine without non_preemptive_, but there is the same name but different algorithm. (what you mentioned)
The existing program is a preemptive variant of SJF.
So I add non_preemptive_ to distinguish them.
If we get rid of non_preemptive_, I think the other filename(original shortest_job_first.py) also should be renamed to shortest_remaining_time.py.
There was a problem hiding this comment.
Ah ok, you may rename scheduling/shortest_job_first.py to scheduling/preemptive_shortest_job_first.py
| def calculate_waitingtime( | ||
| arrival_time: list[int], burst_time: list[int], no_of_processes: int | ||
| ) -> list[int]: | ||
|
|
| and has remaining execution time is put into the ready_process. | ||
| The shortest process in the ready_process, target_process is executed. | ||
| """ | ||
| while completed != no_of_processes: |
There was a problem hiding this comment.
This block of code can be used to improve https://github.com/TheAlgorithms/Python/blob/master/scheduling/shortest_job_first.py
poyea
left a comment
There was a problem hiding this comment.
Thank you for your pull request!🤩
Describe your change:
Checklist:
Fixes: #{$ISSUE_NO}.