Sorting: Bucket Sort
def bucketSort(arr):
# Assuming arr only contains 0, 1 or 2
counts = [0, 0, 0]
# Count the quantity of each val in arr
for n in arr:
counts[n] += 1
# Fill each bucket in the original array
i = 0
for n in range(len(counts)):
for j in range(counts[n]):
arr[i] = n
i += 1
return arr
- Time: O(n)
- Space: O(1)
- Stable? : No
일반적으로.
빠르게 정렬해야하면.. MergeSort를 쓰자!!
'Coding Test > 알고리즘 이론' 카테고리의 다른 글
DP: 0 / 1 Knapsack 이론 (0) | 2025.02.05 |
---|---|
Sorting: Quick Sort (0) | 2025.02.04 |
Sorting: Merge Sort (0) | 2025.02.03 |
Sorting: Insertion Sort (0) | 2025.02.03 |
BIT 연산 Bit Manipulation (0) | 2025.01.30 |