冒泡排序,选择排序,插入排序,快速排序的简单性能测试
来源:互联网 发布:cs 1.6 for mac 10.13 编辑:程序博客网 时间:2024/06/15 02:43
今天对四种基本的排序算法进行了简单的性能测试,测试代码如下:
#filename: test.pyimport timeimport randomdef 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+1def 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-1def 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+1arr = 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
为了保证测试结果的可靠性,进行了多次的测试,从上面的结果可以很明显的看出,快速排序>插入排序>选择排序>冒泡排序
0 0
- 冒泡排序,选择排序,插入排序,快速排序的简单性能测试
- java实现冒泡排序,选择排序,插入排序,快速排序(简洁版)及性能测试
- 排序学习(直接插入排序,折半插入排序,冒泡排序,快速排序,简单选择排序)
- 冒泡排序、选择排序、插入排序、快速排序算法的时间性能分析(java实现)
- 常用的排序算法:插入排序,希尔排序,冒泡排序,选择排序,快速排序,归并排序
- java实现各种排序算法(包括冒泡排序,选择排序,插入排序,快速排序(简洁版))及性能测试
- 冒泡排序 快速排序 插入排序 堆排序 选择排序
- 插入排序、选择排序、冒泡排序、快速排序、堆排序
- 数组排序:快速排序,选择排序,冒泡排序,插入排序
- Java 排序 快速排序 冒泡排序 选择排序 插入排序
- 随机生成30个数,试比较直接插入排序、简单选择排序、冒泡排序、快速排序、堆排序和希尔排序的时空性能和稳定性。
- 冒泡排序,快速排序,简单选择排序
- 简单选择排序&冒泡排序&快速排序
- 简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)
- C++实现直接插入排序,折半插入排序,希尔排序,冒泡排序,简单选择排序,快速排序,堆排序
- 基本算法简单实现-二分法查找、合并排序、冒泡排序、插入排序、选择排序、快速排序
- 冒泡排序, 简单选择排序, 插入排序, 希尔排序, 快速排序 js 实现
- 冒泡排序、插入排序、快速排序的简单实现
- MFC截图程序的实现(十)
- acdream oj 1101 瑶瑶想要玩滑梯
- 计算机英语(第三版)Unit 8,B、C两部分的翻译
- NYOJ 722 数独 【DFS】+【预处理】
- 设计模式之策略模式
- 冒泡排序,选择排序,插入排序,快速排序的简单性能测试
- 安装office2007后,每次打开word、excel,出现“正在配置Micosoft office ....
- acdream oj 1105 瑶瑶带你玩激光坦克
- 机房收费系统——详细设计说明书
- 今天他今天官方价格将哥几个今天饭店几天假个房间公积金
- Press<F1>...<F12>missing operating system的解决办法
- 【Win32 API】在系统托盘显示图标和弹出气泡
- Mac如何修改开机密码
- Android 开发学习记录(2)---- httpclient使用(一)