From 38b37057bbf29de45add88fef1031390377d4a2f Mon Sep 17 00:00:00 2001 From: AITOUFEL Date: Sat, 25 Nov 2023 14:54:12 +0100 Subject: [PATCH 1/2] KHAZZANI Badr --- sort/fusion.py | 45 +++++++++++++++++++++++++++++++++++++++++++-- sort/insertion.py | 30 +++++++++++++++++++++++++++++- sort/range.py | 19 ++++++++++++++++++- sort/recursion.py | 7 +++++-- sort/selection.py | 34 +++++++++++++++++++++++++++++++++- 5 files changed, 128 insertions(+), 7 deletions(-) diff --git a/sort/fusion.py b/sort/fusion.py index 73a21d3..cc990c3 100644 --- a/sort/fusion.py +++ b/sort/fusion.py @@ -1,2 +1,43 @@ -def sort(array: list[int]) -> list[int]: - return array +from typing import List +import time +import range as range_array + +def main(): + '''Function to evaluate the algorithm complexity''' + for size in range(1, 11): + array: List[int] = range_array.generate_array_of_number(size * 1000) + start_time: float = time.time() + sort(array) + end_time: float = time.time() + print("Taille de tableau : ", size * 1000, + " Temps écoulé :", end_time - start_time) + +def sort(array: List[int]) -> List[int]: + if len(array) <= 1: + return array + + separation: int = len(array) // 2 + array1: List[int] = array[:separation] + array2: List[int] = array[separation:] + + return merge(sort(array1), sort(array2)) + +def merge(array1: List[int], array2: List[int]) -> List[int]: + result_array: List[int] = [] + i = j = 0 + + while i < len(array1) and j < len(array2): + if array1[i] < array2[j]: + result_array.append(array1[i]) + i += 1 + else: + result_array.append(array2[j]) + j += 1 + + result_array.extend(array1[i:]) + result_array.extend(array2[j:]) + + return result_array + +if __name__ == "__main__": + main() diff --git a/sort/insertion.py b/sort/insertion.py index 73a21d3..bec0bb7 100644 --- a/sort/insertion.py +++ b/sort/insertion.py @@ -1,2 +1,30 @@ -def sort(array: list[int]) -> list[int]: +import time +from typing import List +import range as range_array +# Assuming you have a module named 'range_array' for generating arrays + +def main(): + '''Function to evaluate the algorithm complexity''' + for size in range(1, 11): + array: List[int] = range_array.generate_array_of_number(size * 1000) + start_time: float = time.time() + sort(array) + end_time: float = time.time() + print("Taille de tableau : ", size * 1000, + " Temps écoulé :", end_time - start_time) + +def sort(array: List[int]) -> List[int]: + for old_index in range(1, len(array)): + current_value = array[old_index] + index_to_place = old_index - 1 + + while index_to_place >= 0 and current_value < array[index_to_place]: + array[index_to_place + 1] = array[index_to_place] + index_to_place -= 1 + + array[index_to_place + 1] = current_value + return array + +if __name__ == "__main__": + main() diff --git a/sort/range.py b/sort/range.py index fc252ab..6ae451e 100644 --- a/sort/range.py +++ b/sort/range.py @@ -1,2 +1,19 @@ +import random +import time + +def main(): + '''Function to evaluate the algorithm complexity''' + for size in range(1, 11): + start_time = time.time() + array_size = size * 1_000_000 + generate_array_of_number(array_size) + end_time = time.time() + print("Taille de tableau : ", array_size, + " Temps écoulé :", end_time - start_time) + def generate_array_of_number(array_size: int) -> list[int]: - return [] + """Generate an array of random numbers.""" + return [random.randint(0, 100) for _ in range(array_size)] + +if __name__ == "__main__": + main() diff --git a/sort/recursion.py b/sort/recursion.py index e7f4320..a57b7bf 100644 --- a/sort/recursion.py +++ b/sort/recursion.py @@ -1,2 +1,5 @@ -def get_factorial(number: int) -> int: - return number +def get_factorial_iterative(number: int) -> int: + result = 1 + for i in range(1, number + 1): + result *= i + return result diff --git a/sort/selection.py b/sort/selection.py index 73a21d3..12c8187 100644 --- a/sort/selection.py +++ b/sort/selection.py @@ -1,2 +1,34 @@ -def sort(array: list[int]) -> list[int]: +import time +from typing import List +import range as range_array + +def main(): + '''Function to evaluate the algorithm complexity''' + for size in range(1, 11): + array: List[int] = range_array.generate_array_of_number(size * 1000) + start_time: float = time.time() + sort(array) + end_time: float = time.time() + print("Taille de tableau : ", size * 1000, + " Temps écoulé :", end_time - start_time) + +def sort(array: List[int]) -> List[int]: + '''Selection sort algorithm''' + + for iterator in range(len(array)): + min_index = find_min_index(array, iterator) + array[iterator], array[min_index] = array[min_index], array[iterator] + return array + +def find_min_index(array: List[int], start_index: int) -> int: + min_index = start_index + + for index in range(start_index, len(array)): + if array[index] < array[min_index]: + min_index = index + + return min_index + +if __name__ == "__main__": + main() From 9d23d2bd66cb7a4a70b16ba9f4f168a1b1b1824b Mon Sep 17 00:00:00 2001 From: AITOUFEL Date: Sat, 25 Nov 2023 15:00:23 +0100 Subject: [PATCH 2/2] KHAZZANI Badr2 --- img/fusionGraph.PNG | Bin 0 -> 13266 bytes img/insertion.PNG | Bin 0 -> 12551 bytes img/selection.PNG | Bin 0 -> 13299 bytes img/tabAlea.PNG | Bin 0 -> 13199 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/fusionGraph.PNG create mode 100644 img/insertion.PNG create mode 100644 img/selection.PNG create mode 100644 img/tabAlea.PNG diff --git a/img/fusionGraph.PNG b/img/fusionGraph.PNG new file mode 100644 index 0000000000000000000000000000000000000000..1db8aeb006e7ffa112b5e97a36d676647316893c GIT binary patch literal 13266 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 literal 0 HcmV?d00001 diff --git a/img/tabAlea.PNG b/img/tabAlea.PNG new file mode 100644 index 0000000000000000000000000000000000000000..888a0d7c09f3be52dbca09b3447fc2d69868ba35 GIT binary patch literal 13199 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