![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Sort algorithm
文章平均质量分 72
超爱编程
这个作者很懒,什么都没留下…
展开
-
插入排序
#平均复杂度O(n²) 空间复杂度O(1)def insert_sort(lists): count = len(lists) for i in range(1,count): j = i-1 while j>=0: if lists[i]<lists[j]: lists[i],l...原创 2019-11-21 11:23:16 · 90 阅读 · 0 评论 -
选择排序
#时间复杂度O(n²),空间复杂度O(1)def select_sort(lists): count = len(lists) for i in range(0,count): min = i #min为当前最小值 for j in range(i+1,count): if lists[min]>lists...原创 2019-11-21 11:22:36 · 90 阅读 · 0 评论 -
希尔排序
#小规模基本有序数组,直接插入排序效率高#希尔排序,设置增量,一般互为质数,呈递减序列,最后一个是1def shellSort(lists): n = len(lists) gap = int(n/2) while gap > 0: for i in range(gap,n): temp = lists[i] ...原创 2019-11-21 11:21:46 · 73 阅读 · 0 评论 -
归并排序
#时间复杂度O(nlogn),空间复杂度O(n)def merge(left,right): # i,j =0,0 result =[] while i<len(left) and j<len(right): if left[i]<=right[j]: result.append(left[i]) ...原创 2019-11-21 11:20:56 · 74 阅读 · 0 评论 -
快速排序
#时间复杂度O(nlogn);空间复杂度O(logn)def quick_sort(lists,left,right): if left>=right: return lists key =lists[left] # key =49 low =left # low =0 high =right ...原创 2019-11-21 11:19:29 · 77 阅读 · 0 评论 -
冒泡排序
def bubbling_sort(lists): count = len(lists) for i in range(0,count): for j in range(i+1,count): if lists[i]>lists[j]:#当i=0,j=1 第0个数和第1个数比较 lists[i],list...原创 2019-11-21 11:16:23 · 102 阅读 · 0 评论