介紹
選擇排序是一種簡(jiǎn)單直觀的排序算法。
演示

Select-Sort
復(fù)雜度
最壞時(shí)間復(fù)雜度:O(n^2)
最優(yōu)時(shí)間復(fù)雜度:O(n^2)
平均時(shí)間復(fù)雜度:O(n^2)
最壞空間復(fù)雜度:O(n),需要輔助空間O(1)
步驟
它的工作原理如下。
- 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
- 然后,再?gòu)氖S辔磁判蛟刂欣^續(xù)尋找最?。ù螅┰?,然后放到已排序序列的末尾。
- 以此類推,直到所有元素均排序完畢。
python
def select_sort(li):
for i in range(len(li)):
min = i
for j in range(i + 1, len(li)):
if li[j] < li[min]:
min = j
if min != i:
li[min], li[i] = li[i], li[min]
return li
print(select_sort(li))