mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-12-18 01:00:15 +00:00
[mypy] Add/fix type annotations for scheduling algorithms (#4074)
* Fix mypy errors for scheduling/first_come_first_served * Fix mypy errors for scheduling/round_robin.py * Fix mypy errors for scheduling/shortest_job_first.py * Fix isort errors
This commit is contained in:
parent
64d8504170
commit
00e279ea44
|
@ -2,10 +2,10 @@
|
||||||
# In this Algorithm we just care about the order that the processes arrived
|
# In this Algorithm we just care about the order that the processes arrived
|
||||||
# without carring about their duration time
|
# without carring about their duration time
|
||||||
# https://en.wikipedia.org/wiki/Scheduling_(computing)#First_come,_first_served
|
# https://en.wikipedia.org/wiki/Scheduling_(computing)#First_come,_first_served
|
||||||
from __future__ import annotations
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
def calculate_waiting_times(duration_times: list[int]) -> list[int]:
|
def calculate_waiting_times(duration_times: List[int]) -> List[int]:
|
||||||
"""
|
"""
|
||||||
This function calculates the waiting time of some processes that have a
|
This function calculates the waiting time of some processes that have a
|
||||||
specified duration time.
|
specified duration time.
|
||||||
|
@ -24,8 +24,8 @@ def calculate_waiting_times(duration_times: list[int]) -> list[int]:
|
||||||
|
|
||||||
|
|
||||||
def calculate_turnaround_times(
|
def calculate_turnaround_times(
|
||||||
duration_times: list[int], waiting_times: list[int]
|
duration_times: List[int], waiting_times: List[int]
|
||||||
) -> list[int]:
|
) -> List[int]:
|
||||||
"""
|
"""
|
||||||
This function calculates the turnaround time of some processes.
|
This function calculates the turnaround time of some processes.
|
||||||
Return: The time difference between the completion time and the
|
Return: The time difference between the completion time and the
|
||||||
|
@ -44,7 +44,7 @@ def calculate_turnaround_times(
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def calculate_average_turnaround_time(turnaround_times: list[int]) -> float:
|
def calculate_average_turnaround_time(turnaround_times: List[int]) -> float:
|
||||||
"""
|
"""
|
||||||
This function calculates the average of the turnaround times
|
This function calculates the average of the turnaround times
|
||||||
Return: The average of the turnaround times.
|
Return: The average of the turnaround times.
|
||||||
|
@ -58,7 +58,7 @@ def calculate_average_turnaround_time(turnaround_times: list[int]) -> float:
|
||||||
return sum(turnaround_times) / len(turnaround_times)
|
return sum(turnaround_times) / len(turnaround_times)
|
||||||
|
|
||||||
|
|
||||||
def calculate_average_waiting_time(waiting_times: list[int]) -> float:
|
def calculate_average_waiting_time(waiting_times: List[int]) -> float:
|
||||||
"""
|
"""
|
||||||
This function calculates the average of the waiting times
|
This function calculates the average of the waiting times
|
||||||
Return: The average of the waiting times.
|
Return: The average of the waiting times.
|
||||||
|
|
|
@ -3,12 +3,11 @@ Round Robin is a scheduling algorithm.
|
||||||
In Round Robin each process is assigned a fixed time slot in a cyclic way.
|
In Round Robin each process is assigned a fixed time slot in a cyclic way.
|
||||||
https://en.wikipedia.org/wiki/Round-robin_scheduling
|
https://en.wikipedia.org/wiki/Round-robin_scheduling
|
||||||
"""
|
"""
|
||||||
from __future__ import annotations
|
|
||||||
|
|
||||||
from statistics import mean
|
from statistics import mean
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
def calculate_waiting_times(burst_times: list[int]) -> list[int]:
|
def calculate_waiting_times(burst_times: List[int]) -> List[int]:
|
||||||
"""
|
"""
|
||||||
Calculate the waiting times of a list of processes that have a specified duration.
|
Calculate the waiting times of a list of processes that have a specified duration.
|
||||||
|
|
||||||
|
@ -41,8 +40,8 @@ def calculate_waiting_times(burst_times: list[int]) -> list[int]:
|
||||||
|
|
||||||
|
|
||||||
def calculate_turn_around_times(
|
def calculate_turn_around_times(
|
||||||
burst_times: list[int], waiting_times: list[int]
|
burst_times: List[int], waiting_times: List[int]
|
||||||
) -> list[int]:
|
) -> List[int]:
|
||||||
"""
|
"""
|
||||||
>>> calculate_turn_around_times([1, 2, 3, 4], [0, 1, 3])
|
>>> calculate_turn_around_times([1, 2, 3, 4], [0, 1, 3])
|
||||||
[1, 3, 6]
|
[1, 3, 6]
|
||||||
|
|
|
@ -3,17 +3,17 @@ Shortest job remaining first
|
||||||
Please note arrival time and burst
|
Please note arrival time and burst
|
||||||
Please use spaces to separate times entered.
|
Please use spaces to separate times entered.
|
||||||
"""
|
"""
|
||||||
from __future__ import annotations
|
from typing import List
|
||||||
|
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
|
||||||
|
|
||||||
def calculate_waitingtime(
|
def calculate_waitingtime(
|
||||||
arrival_time: list[int], burst_time: list[int], no_of_processes: int
|
arrival_time: List[int], burst_time: List[int], no_of_processes: int
|
||||||
) -> list[int]:
|
) -> List[int]:
|
||||||
"""
|
"""
|
||||||
Calculate the waiting time of each processes
|
Calculate the waiting time of each processes
|
||||||
Return: list of waiting times.
|
Return: List of waiting times.
|
||||||
>>> calculate_waitingtime([1,2,3,4],[3,3,5,1],4)
|
>>> calculate_waitingtime([1,2,3,4],[3,3,5,1],4)
|
||||||
[0, 3, 5, 0]
|
[0, 3, 5, 0]
|
||||||
>>> calculate_waitingtime([1,2,3],[2,5,1],3)
|
>>> calculate_waitingtime([1,2,3],[2,5,1],3)
|
||||||
|
@ -72,8 +72,8 @@ def calculate_waitingtime(
|
||||||
|
|
||||||
|
|
||||||
def calculate_turnaroundtime(
|
def calculate_turnaroundtime(
|
||||||
burst_time: list[int], no_of_processes: int, waiting_time: list[int]
|
burst_time: List[int], no_of_processes: int, waiting_time: List[int]
|
||||||
) -> list[int]:
|
) -> List[int]:
|
||||||
"""
|
"""
|
||||||
Calculate the turn around time of each Processes
|
Calculate the turn around time of each Processes
|
||||||
Return: list of turn around times.
|
Return: list of turn around times.
|
||||||
|
@ -91,8 +91,8 @@ def calculate_turnaroundtime(
|
||||||
|
|
||||||
|
|
||||||
def calculate_average_times(
|
def calculate_average_times(
|
||||||
waiting_time: list[int], turn_around_time: list[int], no_of_processes: int
|
waiting_time: List[int], turn_around_time: List[int], no_of_processes: int
|
||||||
):
|
) -> None:
|
||||||
"""
|
"""
|
||||||
This function calculates the average of the waiting & turnaround times
|
This function calculates the average of the waiting & turnaround times
|
||||||
Prints: Average Waiting time & Average Turn Around Time
|
Prints: Average Waiting time & Average Turn Around Time
|
||||||
|
|
Loading…
Reference in New Issue
Block a user