首先先给大家列出每种排序的具体实现(全部都是用python实现的!)
# 冒泡排序 # 选择排序 # 插入排序 # 快速排序 # 堆排序 # 归并排序 # 希尔排序 # 计数排序 # 桶排序 # 基数排序
测试代码
# -*- coding: UTF-8 -*-
'''
*****************LLL*********************
* @Project :排序算法
* @File :lll13_十大排序算法的效率比较.py
* @IDE :PyCharm
* @Author :LLL
* @Date :2022/5/9 11:51
*****************************************
'''
from random import shuffle
from copy import deepcopy
from lll01_冒泡排序 import bubble_sort3
from lll02_选择排序 import select_sort2
from lll03_插入排序 import insert_sort
from lll04_快速排序 import quick_sort
from lll05_堆排序 import heap_sort
from lll08_归并排序 import merge_sort
from lll09_希尔排序 import shell_sort
from lll10_计数排序 import count_sort
from lll11_桶排序 import bucket_sort
from lll12_基数排序 import radix_sort
li = list(range(10000))
shuffle(li) # 打乱顺序
li1 = deepcopy(li)
li2 = deepcopy(li)
li3 = deepcopy(li)
li4 = deepcopy(li)
li5 = deepcopy(li)
li6 = deepcopy(li)
li7 = deepcopy(li)
li8 = deepcopy(li)
li9 = deepcopy(li)
li10 = deepcopy(li)
# 冒泡排序
bubble_sort3(li1)
# 选择排序
select_sort2(li2)
# 插入排序
insert_sort(li3)
# 快速排序
quick_sort(li4)
# 堆排序
heap_sort(li5)
# 归并排序
merge_sort(li6)
# 希尔排序
shell_sort(li7)
# 计数排序
count_sort(li8,max(li8))
# 桶排序
bucket_sort(li9)
# 基数排序
radix_sort(li10)
测试结果
平均测了3次,测试的是10000个数字的无序列表,本来以为快速排序是最快的,但是没想到计数排序比它快了近10倍!!!
同步更新于个人博客系统:10大排序算法的性能比较,计数排序简直逆天?