From 0ed6aa1d9a0debea300ddb2f4f181fe1f5e27ee3 Mon Sep 17 00:00:00 2001 From: Arnav Shivansh Date: Mon, 23 Jan 2023 23:55:08 -0500 Subject: [PATCH] added bucket sort --- Data Structures and Algorithms/bucket_sort.py | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Data Structures and Algorithms/bucket_sort.py diff --git a/Data Structures and Algorithms/bucket_sort.py b/Data Structures and Algorithms/bucket_sort.py new file mode 100644 index 00000000..7d6e4658 --- /dev/null +++ b/Data Structures and Algorithms/bucket_sort.py @@ -0,0 +1,29 @@ +import random + +def bucketSort(array): + largest = max(array) + length = len(array) + size = largest/length + + # Create Buckets + buckets = [[] for i in range(length)] + + # Bucket Sorting + for i in range(length): + index = int(array[i]/size) + if index != length: + buckets[index].append(array[i]) + else: + buckets[length - 1].append(array[i]) + + # Sorting Individual Buckets + for i in range(len(array)): + buckets[i] = sorted(buckets[i]) + + + # Flattening the Array + result = [] + for i in range(length): + result = result + buckets[i] + + return result