您的位置:首页 > 编程语言 > Python开发

用python实现选择排序

2017-10-10 20:35 519 查看
选择排序改进了冒泡排序,每次遍历列表只做一次交换。为了做到这一点,一个选择排序在他遍历时寻找最大的值,并在完成遍历后,将其放置在正确的位置。与冒泡排序一样,在第一次遍历后,最大的项在正确的地方。 第二遍后,下一个最大的就位。遍历 n-1 次排序 n 个项,因为最终项必须在第(n-1)次遍历之后。+



def Selection_Sort(alist):
for fillslot in range(len(alist)-1,0,-1):
init_position = 0
for location in range(1,fillslot+1):
if alist[location] > alist[init_position]:
init_position = location

temp = alist[fillslot]
alist[fillslot] = alist[init_position]
alist[init_position] = temp

alist = [1,2,35,7,8,9,88,0,444,3]
Selection_Sort(alist)
print(alist)


时间复杂度

最优时间复杂度:O(n2)
最坏时间复杂度:O(n2)
稳定性:不稳定(考虑升序每次选择最大的情况)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息