# Selection Sort Cheatsheet ## Overview - Selection sort is a simple sorting algorithm. - It works by repeatedly finding the minimum element from the unsorted part of the array and putting it at the beginning. - It has O(n^2) time complexity, making it inefficient on large lists. ## Algorithm ```python def selection_sort(arr): # Traverse through all array elements for i in range(len(arr)): # Find the minimum element in remaining unsorted array min_index = i for j in range(i + 1, len(arr)): if arr[min_index] > arr[j]: min_index = j # Swap the found minimum element with the first element arr[i], arr[min_index] = arr[min_index], arr[i] ``` ## Time Complexity - Worst-case performance: O(n^2) - Best-case performance: O(n^2) - Average-case performance: O(n^2) ## Resources - [Selection Sort Wikipedia](https://en.wikipedia.org/wiki/Selection_sort) - [GeeksforGeeks: Selection Sort](https://www.geeksforgeeks.org/selection-sort/) - [Visualgo: Selection Sort](https://visualgo.net/en/sorting)