摘要:
import math def radixSort(list, radix = 10): ''' math.ceil 为x取整,结果是不小于x的最小整数. math.log(x, a) 返回 log 以 a 为底 x 的对数,若不给定 a 则底默认为 e ''' k = int(math.ceil(math.log(max(list), radix))) ... 阅读全文
摘要:
''' 希尔排序: 将数组列在一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列来进行。 最后整个列表就只有一列了。 ''' import time start1 = time.time() def shell_sort(alist): n = len(alist) # 初始步长 gap = n//2 while gap >0: # 按步长进行插入排序 for i... 阅读全文
摘要:
''' 插入排序:通过构建有序序列,对于未排序的数据, 在已排序列中从后向前扫描,找到相应的位置并插入 ''' import time start = time.time() def insert_sort(alist): # i 从第二个开始遍历[9,8,7,6,5,4,3,2,1] for i in range(1, len(alist)): #比较顺序,[... 阅读全文
摘要:
'''选择排序, 找到最大或最小的,放一边,然后继续找''' import time start = time.time() def selectionSort(alist): for i in range(len(alist)-1): min_index = i for j in range(i+1,len(alist)): if alist[min_index]> alis... 阅读全文