当前位置: 首页 > >

利用Python实现将数列排序

发布时间:

1.自己想的方法,算是个不伦不类的算法。虽然效率有点低,不过感觉还算稳定吧。遍历a中寻找最小值,然后放到列表 result中,再把a中的最小值删除,直到无法进行。暂且叫他归纳法吧。
时间复杂度 O(n?)



def thesort(a):
result=[]
while len(a)>0:
the_least = a[0]
for i in range(1,len(a)):
if the_least>a[i]:
the_least = a[i]
result.append(the_least)
a.remove(the_least)
print(a)
return result
tList = [0,4,9,2,3,4,6,5]
print(thesort(tList))


2.排序法



def insertion_sort(list):
for index in range(1,len(list)):
value = list[index]
i=index-1
while i>=0 and (list[index] list[i+1],list[i]=list[i],value
i=i-1
return list
print(insertion_sort([0,4,8,5,3,6,9])



最好情况就是,序列已经是升序排列了,在这种情况下,需要进行的比较操作需(n-1)次即可。最坏情况就是,序列是降序排列,那么此时需要进行的比较共有n(n-1)/2次。插入排序的赋值操作是比较操作的次数加上 (n-1)次。*均来说插入排序算法的时间复杂度为O(n?)。


未完待续



友情链接: