1 / 4
文档名称:

几种排序方法Python实现.doc

格式:doc   大小:26KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

几种排序方法Python实现.doc

上传人:2072510724 2019/6/8 文件大小:26 KB

下载得到文件列表

几种排序方法Python实现.doc

文档介绍

文档介绍:窗体顶端搜索:窗体底端近期文章几种排序方法Python实现docker基础近期评论文章归档2016年十一月分类目录学(2)docker(1)算法(1)标签几种排序方法Python实现插入排序原理:将初始序列中的第一个元素作为一个有序序列,然后将剩下的n-1个元素按关键字大小依次插入该有序序列,每插入一个元素后依然保持该序列有序,经过n-1趟排序后使初始序列有序。其他说明:插入排序在最好的情况下时间复杂度为Θ(n),比较次数为(n-1)次,移动元素次数是2(n-1);最坏的情况下时间复杂度为Θ(n^2);插入排序是稳定的排序算法。defins_sort(list):  j=1  n=0  m=0  whilej<len(list):    key=list[j]    i=j-1    whilei>-1andlist[i]<key:      list[i+1]=list[i]      list[i]=key      i=i-1      n=n+1    m=m+1    j=j+1    #print(list)  print(list,'插入排序1---内部循环次数:',n,'外部循环次数:',m)defins_sort_2(list):  n=0  m=0  forjinrange(1,len(list)):    key=list[j]    i=j-1    whilei>-1andlist[i]<key:      list[i+1]=list[i]      list[i]=key      i=i-1      #print(list)      n=n+1    #print("result:",list)    m=m+1  print(list,'插入排序2---内部循环次数:',n,'外部循环次数:',m) 选择排序原理:将初始序列(A[0]~A[n-1])作为待排序序列,第一趟在待排序序列(A[0]~A[n-1])中找到最小值元素,将其与第一个元素A[0]交换,这样子序列(A[0])已经有序,下一趟在排序在待排序子序列(A[1]~A[n-1])中进行。第i趟排序在待排序子序列(A[i-1]~A[n-1])中找到最小值元素,与该子序列中第一个元素A[i-1]交换。经过n-1趟排序后使得初始序列有序。其他说明:选择排序的最好、最坏和平均情况的时间复杂度都为Θ(n^2),而且它还需交换元素(n-1)次和移动元素3(n-1)次;它是不稳定的排序算法。defsel_sort(l):  n=0  m=0  forjinrange(len(l)-1):    min_key=j    foriinrange(j+1,len(l)):      ifl[i]>l[min_key]:        min_key=i      #print('内部循环:',l,(n+1))      n=n+1    key=l[j]    l[j]=l[min_key]    l[min_key]=key    #print('外部循环:',l,m+1)    m=m+1  print(l,'选择排序---内部循环次数:',n,'外部循环次数:',m)冒泡排序原理:第一趟在序列(A[0]~A[n-1])中从前