python选择排序,python选择排序算法代码

ThinkPhpchengxu

温馨提示:这篇文章已超过239天没有更新,请注意相关的内容是否还可用!

python选择排序,python选择排序算法代码

选择排序是一种简单直观的排序算法。它的基本思想是从待排序的数据中选择最小(或最大)的元素,将其放到已排序序列的末尾,然后再从剩余未排序的数据中选择最小(或最大)的元素,放到已排序序列的末尾,依次类推,直到所有元素排序完成。

下面是使用Python实现选择排序的示例代码:

def selection_sort(arr):

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

在这段代码中,我们首先定义了一个名为`selection_sort`的函数,它接受一个待排序的数组作为参数,并返回排序后的数组。

在主循环中,我们使用变量`i`来表示已排序序列的末尾位置,初始值为0。然后,我们使用变量`min_idx`来记录当前未排序部分中的最小元素的索引,初始值为`i`。

接下来,我们使用嵌套循环来遍历未排序部分的元素。内层循环从`i+1`开始,依次比较未排序部分的元素与当前最小元素,如果找到更小的元素,则更新`min_idx`的值。

当内层循环结束时,我们找到了未排序部分中的最小元素,将其与已排序序列的末尾元素交换位置。这样,已排序序列的末尾位置向后移动一位,未排序部分的长度减少一位。

重复执行上述步骤,直到所有元素排序完成。

选择排序的时间复杂度为O(n^2),其中n是待排序数组的长度。虽然选择排序的时间复杂度较高,但由于其实现简单,对于小规模的数据排序仍然是一个不错的选择。选择排序是一种不稳定的排序算法,即相等元素的相对顺序可能会发生改变。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码