七、上述六种排序方法速度比较
下面均用函数方式编写排序语句段,每个程序均用相同的文件方式读取用记事本存储的5000个1000以内的自然数,然后调用排序函数,用以下语句统计排序所用时间:
import time
time1=time.time()
print(Sort(a))
time2=time.time()
print (u"总共耗时:" + str(time2 - time1) + "s")
每种排序方式所用时间如下,详情见图14-7-1至14-7-12。
从这六个程序执行结果可知:在这些排序方法中,排序效率速度最快的是桶排序和快速排序法。用时最多的是冒泡排序法。选择排序比交换排序稍快。
但从程序结构上看,冒泡排序是写法最简单的方法。桶排序和快速排序的语句稍多。程序较复杂。因此,建议学者朋友们在实际运用时如果需要处理的数据少,可选编写简单的冒泡排序、选择排序、交换排序方法。如果需要处理的数据巨大,规则的、范围固定的数据建议用桶排序。范围不确定的数据建议用快速排序法。