时间复杂度的几条基本计算规则



python内置类型性能分析

from timeit import Timer
def t1(n):l = []for i in range(n):l.append(i)def t2(n):l = []for i in range(n):l += [i]# print(l)def t3(n):l = []for i in range(n):l = l + [i]def t4(n):l = []for i in range(n):l.insert(0, i)def t5(n):l = []for i in range(n):l.extend([i])def t6(n):l = list(range(n))def t7(n):l = [i for i in range(n)]timer1 = Timer(stmt='t1(10000)', setup='from __main__ import t1')
print('[].append', timer1.timeit(100))  # 100 表示timer1里面的函数执行的次数
timer2 = Timer(stmt='t2(10000)', setup='from __main__ import t2')
print('[]+=', timer2.timeit(100))
timer3 = Timer(stmt='t3(10000)', setup='from __main__ import t3')
print('[]+', timer3.timeit(100))
timer4 = Timer(stmt='t4(10000)', setup='from __main__ import t4')
print('[]insert()', timer4.timeit(100))
timer5 = Timer(stmt='t5(10000)', setup='from __main__ import t5')
print('[].extend()', timer5.timeit(100))
timer6 = Timer(stmt='t6(10000)', setup='from __main__ import t6')
print('list(range)', timer6.timeit(100))
timer7 = Timer(stmt='t7(10000)', setup='from __main__ import t7')
print('列表表达式', timer7.timeit(100))

n = 10000,循环100次的结果

[].append 0.09899567431773199
[]+= 0.13608293246361777
[]+ 18.673876795031823
[]insert() 2.3175882919989483
[].extend() 0.16939992310249252
list(range) 0.027055054353276375
列表表达式 0.04889544702006532

[] = [] + [] 的时间最长,尽量避免使用这种方法

算法与数据结构(一)相关推荐

  1. GitHub上分享的常用算法和数据结构实现原理可视化系统

    一门编程语言入门之后,要想进阶,必须学习算法和数据结构,但是对于初学者来讲算法和数据结构和数据结构的实现原理和机制过于枯涩.抽象难懂. 这里为小伙伴们分享一个名为Algorithm Visualize ...

  2. 维基百科上的算法和数据结构链接很强大

    突然发现维基百科上的算法和数据结构比百度百科强多啦,图文并茂. 其实这个网站不错:http://www.sorting-algorithms.com 冒泡排序: bubble冒泡的意思 http:// ...

  3. GitHub标星3w+的项目,全面了解算法和数据结构知识

    作者 | 程序员小吴 来源 | 五分钟学算法(ID: CXYxiaowu) 导语:今天分享一个开源项目,里面汇总了程序员技术面试时需要了解的算法和数据结构知识,并且还提供了相应的代码,目前 GitHu ...

  4. noj数据结构稀疏矩阵的加法十字链表_一个算法毁了一款好游戏?算法和数据结构到底有多重要?...

    来源 | 异步 | 文末赠书 前段时间大火的国产游戏--<太吾绘卷>,由于创新的玩法和精良的制作一度广受好评,然而随着玩家游戏的深入和时长的积累,发现该游戏在玩的过程中游戏外的问题很多很多 ...

  5. 浅谈算法和数据结构: 五 优先级队列与堆排序

    原文:浅谈算法和数据结构: 五 优先级队列与堆排序 在很多应用中,我们通常需要按照优先级情况对待处理对象进行处理,比如首先处理优先级最高的对象,然后处理次高的对象.最简单的一个例子就是,在手机上玩游戏 ...

  6. java优先队列的入队函数,算法与数据结构番外(1):优先队列

    这是算法与数据结构番外系列的第一篇,这个系列未来的主要内容是补充一些与算法与数据结构相关的知识,这些知识比较零碎,同时也与正传关系密切,往往需要阅读了正传的相关内容以后,才能较好的理解这部分内容.如果 ...

  7. 算法与数据结构(2)

    算法与数据结构(2) 三年前发布过一篇算法与数据结构 https://blog.csdn.net/weixin_42209307/article/details/81122419?spm=1001.2 ...

  8. 算法与数据结构(面向对象思想)

    算法与数据结构和编程之间关系 计算机就是算法与数据结构, 当你选择搜索这类的文章的时候,你已经在翻大山了 编程就是当你翻过一座山的时候,你发现前面还有一座更高的山. LZ从事java工作一年了,最近听 ...

  9. python数据结构推荐书-「算法与数据结构」从入门到进阶吐血整理推荐书单

    推荐一下「算法与数据结构」从入门到进阶的书单. 一.入门系列 这些书籍通过图片.打比方等通俗易懂的方法来讲述,让你能达到懂一些基础算法,线性表,堆栈,队列,树,图,DP算法,背包问题等,不要求会实现, ...

  10. python教材免费版-北大内部教材python版算法与数据结构PDF电子书免费下载

    自从第一台需要人们用线缆和交换机向其传达指令的电子计算机问世以来,编程已发生了巨大改变.计算机科技的革新给计算机科学家提供了越来越多的工具和平台,方便他们在社会的各个领域一显身手.高速处理器.高速网络 ...

最新文章

  1. Microsoft Visual Studio 2012 添加实体数据模型
  2. USB Host Device And OTG
  3. 构建高可用服务器之 Keepalive参数详解
  4. nginx配置 yii2 URL重写规则 SSI配置使shtml
  5. Linux 复习重点目录
  6. 烽火交换机s5800配置说明_如何通过单臂路由实现VLAN间通信?(配置篇)
  7. MINST数据集下载失败
  8. 5G关键技术研究方向
  9. 机器学习算法数学基础之——微积分篇(1)
  10. Excel 公式 lenB无效 解决方案
  11. 显卡算力排行2020_AMD正式发布RX6000系列显卡
  12. Qt不规则窗体和按键
  13. raw数据拆分成rggb四通道,拆分与合成
  14. 《生成式深度学习》Generative Deeping Learning 笔记 第二章 深度学习
  15. 计算机应用202001常规,2001年4月份全国高等教育自学考试计算机应用基础试题
  16. xlsxwriter 简单用法
  17. 《Involution:Inverting the Inherence of Convolution for Visual Recognition》论文笔记
  18. Unity版本升级指南 从unity xx 到 unity 20xx
  19. 子矩阵的和(Python实现)
  20. 搜狗拼音输入法2015 v7.2f 官方版

热门文章

  1. 套接字有哪些类型?socket有哪些类型?
  2. html文字字号不改变,如何在不改变div大小的情况下更改HTML / css中的字体大小?...
  3. Python 排序 -- sort()、sorted()
  4. python3精要(59)-转换
  5. AtCoder Beginner Contest 204 F Hanjo 2
  6. 认认真真推荐几个机器学习和Python类的公众号
  7. 【机器学习基础】终于把XGBoost总结写出来了!
  8. 【NLP】Attention函数手册!
  9. 【Python基础】Python初学者必须吃透这69个内置函数!
  10. WSDM Cup 2020 引用意图识别赛道冠军解决方案(附答辩视频、PPT和代码)