Python选择排序
时间: 2023-11-19 16:53:22 浏览: 35
Python选择排序是一种简单的排序算法,它的基本思想是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。Python选择排序的时间复杂度为O(n^2),是一种比较低效的排序算法。同时,由于选择排序每次只交换一次元素,因此它是一种不稳定的排序算法。
相关问题
python选择排序
选择排序(Selection Sort)是一种简单直观的排序算法,其基本思想是:每次从未排序的数列中选择最小(或最大)的数放在已排序数列的末尾,直到所有元素均排序完毕。
Python 实现选择排序的代码如下:
```python
def selection_sort(arr):
n = len(arr)
for i in range(n):
# 找到未排序部分中的最小值
min_index = i
for j in range(i+1, n):
if arr[j] < arr[min_index]:
min_index = j
# 将最小值交换到已排序部分的末尾
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
```
该函数的参数 `arr` 是待排序的列表,函数的返回值是已排序的列表。在函数中,我们首先获取待排序列表的长度 `n`,然后使用双重循环,每次找到未排序部分中的最小值,将其与已排序部分的末尾交换位置。这样,经过 `n` 次循环,待排序列表的所有元素均被排序。
以下是一个示例:
```python
arr = [64, 25, 12, 22, 11]
print(selection_sort(arr)) # [11, 12, 22, 25, 64]
```
这里我们将一个包含 5 个元素的列表 `[64, 25, 12, 22, 11]` 传递给 `selection_sort` 函数,函数返回的已排序列表为 `[11, 12, 22, 25, 64]`。
python 选择排序
选择排序(Selection Sort)是一种简单直观的排序算法,它的基本思想是每次从待排序的数据元素中选出最小(或最大)的一个元素,放在序列的起始位置,直到全部待排序的数据元素排完为止。
下面是使用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
# 测试示例
arr = [64, 25, 12, 22, 11]
sorted_arr = selection_sort(arr)
print(sorted_arr)
```
运行以上代码,输出结果为:[11, 12, 22, 25, 64]。这表示数组经过选择排序后,元素按照升序排列。
希望能够帮助到你!如有任何疑问,请随时提问。