LOW B 三人组

      冒泡排序

      选择排序

      插入排序

  NB 三人组

      快速排序

      堆排序

      归并排序

  其他

      希尔排序

      计数排序


 

 

列表排序即将无需列表变为有序,Python的内置函数为sort()。应用的场景主要有:各种榜单、各种表格、给二分查找用、 其他算法用等等。

有关列表排序的算法有很多,主要分为:

  • low B三人组: 冒泡排序、 选择排序、 插入排序
  • NB三人组: 快速排序、 堆排序、 归并排序

  • 其他排序算法: 计数排序、 希尔排序、 桶排序

算法排序的关键点在于有序区和无序区,我们将一个待排序的列表定为无序区,依次取出其中的元素进行排序,用于存放已排好序的元素的区域称为有序区

为了更形象的表示出每个排序算法的用时,我们先写一个用于计算时间的装饰器预备上

#在timewrap.py中:
import time


def cal_time(func):
    def wrapper(*args, **kwargs):
        t1 = time.time()
        result = func(*args, **kwargs)
        t2 = time.time()
        print("%s running time: %s secs." % (func.__name__, t2-t1))
        return result
    return wrapper
timewrap.py

相关文章: