def selection_sort(arr):
"""
Selection Sort - O(n^2) time complexity
Finds the minimum element and places it at the beginning.
"""
n = len(arr)
for i in range(n):
min_idx = i
for j in range(i + 1, n):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
# Example usage
data = [64, 34, 25, 12, 22, 11, 90]
print("Original:", data)
print("Sorted:", selection_sort(data.copy()))