我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python数据结构与算法(3)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python数据结构与算法(3)

Python内置类型性能分析 timeit模块
timeit模块可以⽤来测试⼀⼩段Python代码的执⾏速度。
class timeit.Timer(stmt='pass', setup='pass', timer=<timer function>)
Timer是测量⼩段代码执⾏速度的类。
stmt参数是要测试的代码语句(statment);
setup参数是运⾏代码时需要的设置;
timer参数是⼀个定时器函数,与平台有关。
timeit.Timer.timeit(number=1000000)
Timer类中测试语句执⾏速度的对象⽅法。number参数是测试代码时的测试 次数,默认为1000000次。⽅法返回执⾏代码的平均耗时,⼀个float类型的 秒数。
list的操作测试

def t1():           l   =   []          for i   in  range(1000):                        l   =   l   +   [i] def t2():           l   =   []          for i   in  range(1000):                        l.append(i) def t3():
  l   =   [i  for i   in  range(1000)] def    t4():           l   =   list(range(1000))
from    timeit  import  Timer
timer1  =   Timer("t1()",   "from   __main__    import  t1") print("concat  ",timer1.timeit(number=1000),   "seconds") timer2   =   Timer("t2()",   "from   __main__    import  t2") print("append  ",timer2.timeit(number=1000),   "seconds") timer3   =   Timer("t3()",   "from   __main__    import  t3") print("comprehension   ",timer3.timeit(number=1000),   "seconds") timer4   =   Timer("t4()",   "from   __main__    import  t4") print("list    range   ",timer4.timeit(number=1000),   "seconds")
#   ('concat    ',  1.7890608310699463, 'seconds') #    ('append    ',  0.13796091079711914,    'seconds') #    ('comprehension ',  0.05671119689941406,    'seconds') #    ('list  range   ',  0.014147043228149414,   'seconds')

pop操作测试

x   =   range(2000000) pop_zero =   Timer("x.pop(0)","from  __main__    import  x") print("pop_zero ",pop_zero.timeit(number=1000), "seconds") x    =   range(2000000) pop_end  =   Timer("x.pop()","from   __main__    import  x") print("pop_end  ",pop_end.timeit(number=1000),  "seconds")
#   ('pop_zero  ',  1.9101738929748535, 'seconds') #    ('pop_end   ',  0.00023603439331054688, 'seconds')

测试pop操作:从结果可以看出,pop最后⼀个元素的效率远远⾼于pop第⼀ 个元素

可以⾃⾏尝试下list的append(value)和insert(0,value),即⼀个后⾯插⼊ 和⼀个前⾯插⼊???

list内置操作的时间复杂度
python数据结构与算法(3)

dict内置操作的时间复杂度
python数据结构与算法(3)

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python数据结构与算法(3)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python数据结构与算法(3)

Python内置类型性能分析 timeit模块timeit模块可以⽤来测试⼀⼩段Python代码的执⾏速度。class timeit.Timer(stmt='pass', setup='pass',
2023-01-31

Python数据结构与算法中的栈怎么构建

本篇内容主要讲解“Python数据结构与算法中的栈怎么构建”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python数据结构与算法中的栈怎么构建”吧!什么是栈栈有时也被称作“下推栈”。它是有序集
2023-06-29

关于Python的高级数据结构与算法

这篇文章主要介绍了关于Python的高级数据结构与算法,掌握这些数据结构和算法将帮助我们在实际编程中解决各种问题,提高我们的编程技巧和水平,需要的朋友可以参考下
2023-05-14

Python内置数据结构3

解构In [8]: lst = [1,2]In [9]: lstOut[9]: [1, 2]In [10]: first,second = lst  #解构In [11]: print(first,second)1 2按照元素顺序,把线性结
2023-01-31

Python高级数据结构与算法实例分析

本文小编为大家详细介绍“Python高级数据结构与算法实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python高级数据结构与算法实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、简介我们将从以
2023-07-05

python数据结构的排序算法

目录十大经典的排序算法 一、交换排序1、冒泡排序(前后比较-交换)2、快速排序(选取一个基准值,小数在左大数在右)二、插入排序1、简单插入排序(逐个插入到前面的有序数中)2、希尔排序(从大范围到小范围进行比较-交换)三、选择排序1、简单选择
2022-06-02

数据结构与算法之手撕排序算法

排序算法看似简单,其实不同的算法中蕴涵着经典的算法策略。通过熟练掌握排序算法,就可以掌握基本的算法设计思想,本文主要介绍了Java中的排序算法,需要的朋友欢迎阅读
2023-05-16

python学习3-内置数据结构3-by

一、字符串与bytesstr是文本系列,有编码,bytes是字节系列,没有编码,文本的编码是字符如何用字节来表示。都不可变,python3默认使用utf8。文本转换编码:s.encode(['编码方式'])编码转换文本:s.decode([
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录