冒泡排序,选择排序,插入排序,快速排序的简单性能测试
2014-06-15 11:24
781 查看
今天对四种基本的排序算法进行了简单的性能测试,测试代码如下:
测试结果截图:
为了保证测试结果的可靠性,进行了多次的测试,从上面的结果可以很明显的看出,快速排序>插入排序>选择排序>冒泡排序
#filename: test.py import time import random def quickSort(arr,l,r): if(l < r): i = l j = r x = arr[l] k = l while i < j: while i<j and arr[j]>x: j = j-1 if i < j: arr[k] = arr[j] k = j i = i+1 while i<j and arr[i]<x: i = i+1 if i < j: arr[k] = arr[i] k = i j = j-1 arr[k] = x quickSort(arr,l,k-1) quickSort(arr,k+1,r) def insertSort(arr,begin,end): i = begin+1 while i<=end: x = arr[i] k = i j = i-1 while j >= begin and arr[j]>x: arr[j+1]=arr[j] k = j j = j-1 arr[k]=x i = i+1 def bubbleSort(arr,begin,end): i=end while i>begin: j=begin while j<i: if arr[j]>arr[j+1]: arr[j],arr[j+1] = arr[j+1],arr[j] j = j+1 i = i-1 def selectSort(arr,begin,end): i=begin while i<end: j=i+1 while j<=end: if arr[i]>arr[j]: arr[i],arr[j] = arr[j],arr[i] j = j+1 i = i+1 arr = range(1,10000) funs = (quickSort,insertSort,bubbleSort,selectSort) for sort in funs: random.shuffle(arr) time1 = time.time() sort(arr,0,len(arr)-1) time2 = time.time() print time2-time1
测试结果截图:
为了保证测试结果的可靠性,进行了多次的测试,从上面的结果可以很明显的看出,快速排序>插入排序>选择排序>冒泡排序
相关文章推荐
- java实现冒泡排序,选择排序,插入排序,快速排序(简洁版)及性能测试
- java实现各种排序算法(包括冒泡排序,选择排序,插入排序,快速排序(简洁版))及性能测试
- java实现冒泡排序,选择排序,插入排序,快速排序(简洁版)及性能测试
- 简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)
- 最简单之Java实现冒泡排序、选择排序、插入排序、希尔排序、归并排序和快速排序(转载请注明出处)
- 简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)
- 简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)
- Go语言实现冒泡排序、选择排序、快速排序及插入排序的方法
- 内部排序冒泡排序、插入排序、选择排序、快速排序的算法和PHP实现
- 基本排序算法(冒泡排序,选择排序,插入排序)后续[时间测试]
- 冒泡排序,选择排序,插入排序,快速排序(PHP)
- java实现冒泡排序,插入排序,选择排序,快速排序
- 简单排序——冒泡排序,选择排序,插入排序,对象排序
- 基本排序算法(冒泡排序,选择排序,插入排序)后续[时间测试]
- 用JS实现冒泡排序、插入排序、选择排序、快速排序
- PHP实现插入排序,选择排序,冒泡排序和快速排序
- C语言常用的几种排序算法代码(选择排序,冒泡排序,插入排序,快速排序)
- 学习笔记:冒泡排序、插入排序、选择排序、快速排序的实现
- 算法导论之插入排序,选择排序,归并排序,冒泡排序,希尔排序,堆排序,快速排序的c语言实现
- Java排序算法(冒泡排序、选择排序、插入排序、反数组排序、快速排序)例子