python简单速度测试
来源:互联网 发布:软件的特点是什么 编辑:程序博客网 时间:2024/05/21 21:41
刚开始接触python,对其飘逸的语法所“震撼”,与其说是在写代码,还不如说是在说一段代码。
刚开始学吧,写个简单的程序练一下手吧,就写了一个归并排序的算法
def merge(num_list,l_b,l_e,r_b,r_e): temp=[] begin=l_b while l_b<=l_e and r_b<=r_e: if num_list[l_b] < num_list[r_b]: temp.append(num_list[l_b]) l_b=l_b+1 else: temp.append(num_list[r_b]) r_b=r_b+1 while l_b<=l_e: temp.append(num_list[l_b]) l_b=l_b+1 while r_b<=r_e: temp.append(num_list[r_b]) r_b=r_b+1 for index in range(0,len(temp)): num_list[begin+index]=temp[index] def mergeSort(num_list,b,e): if b<e: mid=int((b+e)/2) mergeSort(num_list,b,mid) mergeSort(num_list,mid+1,e) l_b=b l_e=mid r_b=mid+1 r_e=e merge(num_list,l_b,l_e,r_b,r_e) def main(): num_list=[5,4,1,7,9,8,6,5,4,7] mergeSort(num_list)if __name__=="__main__": main()
写完感觉还不错,于是乎上网看看别人用python咋写的。果然出乎我的预料,我仿造其格式,写了一下
def mergeSort(num_list): if len(num_list)<=1: return num_list mid=int(len(num_list)/2) return merge(mergeSort(num_list[:mid]),mergeSort(num_list[mid:]))def merge(l_list,r_list): temp_list=[] while l_list and r_list: temp_list.append(l_list.pop(0)) if l_list[0]<=r_list[0] else temp_list.append(r_list.pop(0)) return temp_list+l_list+r_list
短小精悍,刚开始我怀疑 这么写的效率有没有问题啊。因为我原来的算法在函数之间不用传参数,就简单测试一下,再次出乎的预料,通过跑10w次,我原来的算法接近5s,而这个算法不到4秒,好吧,以后还是要使用python的思维写python代码,不过真的很优雅。
0 0
- python简单速度测试
- 测试网站速度简单方法
- 测试网站速度简单方法
- 简单测试了一下Lua的速度
- 测试速度
- 测试速度
- 测试速度
- matlab中计算矩的速度的简单测试
- linux下测试读写速度的简单命令
- 机房速度和带宽测试的简单方法
- python urllib2和httplib请求的速度比较实例测试
- 测试python计算MD5和CRC的速度
- python 一些简单的测试
- Python接口测试简单框架
- selenium+Python 实现简单的网页测试
- 一些简单的Python测试题
- python---简单的接口测试实例
- Python yield的理解与简单测试
- STM32中NVIC(嵌套向量中断控制)的理解
- 面试题--数组旋转续
- OCP 1Z0 051 QUESTION NO: 15
- Linux环境编程之IPC进程间通信(二):管道
- Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果
- python简单速度测试
- python --enumerate用法
- Java 九九乘法
- 数据结构之二叉树基础知识总结
- Java数据库连接池封装与用法
- Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现
- POJ 3829 Seat taking up is tough
- 作为一个程序员,你的进步完全取决于你自己
- Matlab中size,length,numel的讨论