MCPcopy Create free account
hub / github.com/TheAlgorithms/Python / calculate_waiting_times

Function calculate_waiting_times

scheduling/round_robin.py:12–41  ·  view source on GitHub ↗

Calculate the waiting times of a list of processes that have a specified duration. Return: The waiting time for each process. >>> calculate_waiting_times([10, 5, 8]) [13, 10, 13] >>> calculate_waiting_times([4, 6, 3, 1]) [5, 8, 9, 6] >>> calculate_waiting_times(

(burst_times: list[int])

Source from the content-addressed store, hash-verified

10
11
12def calculate_waiting_times(burst_times: list[int]) -> list[int]:
13 """
14 Calculate the waiting times of a list of processes that have a specified duration.
15
16 Return: The waiting time for each process.
17 >>> calculate_waiting_times([10, 5, 8])
18 [13, 10, 13]
19 >>> calculate_waiting_times([4, 6, 3, 1])
20 [5, 8, 9, 6]
21 >>> calculate_waiting_times([12, 2, 10])
22 [12, 2, 12]
23 """
24 quantum = 2
25 rem_burst_times = list(burst_times)
26 waiting_times = [0] * len(burst_times)
27 t = 0
28 while True:
29 done = True
30 for i, burst_time in enumerate(burst_times):
31 if rem_burst_times[i] > 0:
32 done = False
33 if rem_burst_times[i] > quantum:
34 t += quantum
35 rem_burst_times[i] -= quantum
36 else:
37 t += rem_burst_times[i]
38 waiting_times[i] = t - burst_time
39 rem_burst_times[i] = 0
40 if done is True:
41 return waiting_times
42
43
44def calculate_turn_around_times(

Callers 1

round_robin.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected