选择排序(Selection Sort)是一种简单直观的排序算法。它的基本思想是:每次从未排序的部分中选择最小(或最大)的元素,将其放到已排序部分的末尾。选择排序的时间复杂度为O(n²),因此在处理大规模数据时效率较低,但对于小规模数据或部分有序的数据,选择排序仍然是一个不错的选择。
下面是一个用Python实现选择排序的示例代码:
def selection_sort(arr): # 遍历数组中的所有元素 for i in range(len(arr)): # 假设当前元素是最小的 min_idx = i # 遍历未排序部分的元素 for j in range(i+1, len(arr)): # 如果找到更小的元素,更新最小元素的索引 if arr[j] < arr[min_idx]: min_idx = j # 将最小元素与当前元素交换位置 arr[i], arr[min_idx] = arr[min_idx], arr[i] # 测试选择排序 arr = [64, 25, 12, 22, 11] selection_sort(arr) print("排序后的数组:", arr)
for i in range(len(arr))
,遍历数组中的每一个元素,假设当前元素是最小的。for j in range(i+1, len(arr))
,遍历未排序部分的元素,找到最小元素的位置。arr[i], arr[min_idx] = arr[min_idx], arr[i]
,将找到的最小元素与当前元素交换位置。排序后的数组: [11, 12, 22, 25, 64]
选择排序是一种简单但效率较低的排序算法,适用于小规模数据或部分有序的数据。虽然它的时间复杂度较高,但在某些特定场景下仍然有其应用价值。通过理解选择排序的基本思想和实现方式,可以帮助我们更好地掌握排序算法的基本原理。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。