摘要:        
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))) ...    阅读全文
posted @ 2017-09-08 21:55
Thinkando
阅读(320)
评论(0)
推荐(0)
        
            
        
        
摘要:        
''' 希尔排序: 将数组列在一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列来进行。 最后整个列表就只有一列了。 ''' import time start1 = time.time() def shell_sort(alist): n = len(alist) # 初始步长 gap = n//2 while gap >0: # 按步长进行插入排序 for i...    阅读全文
posted @ 2017-09-08 16:58
Thinkando
阅读(220)
评论(0)
推荐(0)
        
            
        
        
摘要:        
''' 快速排序 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据 都要小,然后再按此方法对这两部分数据分别进行快速排序,整个过程可以递归进行,以此达到整个数据 变成有序序列 ''' import time start = time.time() def quick_sort(alist, start, end): # 递归的退出条件 i...    阅读全文
posted @ 2017-09-08 15:49
Thinkando
阅读(243)
评论(0)
推荐(0)
        
            
        
        
摘要:        
''' 插入排序:通过构建有序序列,对于未排序的数据, 在已排序列中从后向前扫描,找到相应的位置并插入 ''' 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)): #比较顺序,[...    阅读全文
posted @ 2017-09-08 14:10
Thinkando
阅读(225)
评论(0)
推荐(0)
        
            
        
        
摘要:        
'''选择排序, 找到最大或最小的,放一边,然后继续找''' 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...    阅读全文
posted @ 2017-09-08 12:55
Thinkando
阅读(247)
评论(0)
推荐(0)
        
            
        
        
摘要:        
'''冒泡排序:比较相邻的元素,如果第一个比第二个大,就交换位置''' import time start = time.time() def bubble_sort (alist): # 从8-0遍历,step = -1,倒着来. for j in range (len(alist)-1,0,-1): # j = 8,7,6,5,4,3,2,1 ...    阅读全文
posted @ 2017-09-08 12:52
Thinkando
阅读(274)
评论(0)
推荐(0)
        
                    
                
浙公网安备 33010602011771号