常用排序算法的Python实现
最近一段时间学习了python,发现python真是个强大,强大到和Matlab相媲美。为了熟悉python,将之前的各种排序算法用python实现了一下。 常用的时间复杂度为O(n^2)的排序算法有冒泡排序,插入排序和选择排序,时间复杂度为O(nlog2(n))的算法有快速排序,归并排序和堆排序, 这里的快速排序的初始比较值partition是随机给定的,在用python进行编写时能更清楚的理解整个排序算法的过程。 1 import random 2 def BubbleSort(num): 3 n=len(num) 4 for i in range(0,n): 5 for j in range(i,n): 6 if num[i]>=num[j]: 7 num[i],num[j]=num[j],num[i] 8 return num 9 def SelectSort(num): 10 for i in range(0,len(num)): 11 mindex=i 12 for j in range(i,len(num)): 13 if num[mindex]>num[j]: 14 mindex=j 15 num[mindex],num[i]=num[i],num[mindex] 16 return num 17 def InsertSort(num): 18 for i in