基本概念

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

1、基本操作,即只有常数项,认为其时间复杂度为O(1)。
2、顺序结构,时间复杂度按加法进行计算。
3、循环结构,时间复杂度按乘法进行计算。
4、分支结构,时间复杂度取最大值。
5、判断一个算法的效率时,往往只需要关注操作数量的最高次项,其他次要项和常数项可以忽略。
6、在没有特殊说明时,我们分析的算法的时间复杂度都是指最坏时间复杂度。


image.png

image.png

常见时间复杂度

常见时间复杂度

【注意】经常将log2n(以2为底的对数)简写成logn

常见时间复杂度之间的关系

image.png

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类型的秒数。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引入 先来看一道题:如果 a+b+c=1000,且 a^2 + b^2 = c^2(a,b,c 为自然数),如何求...
    小董不太懂阅读 2,924评论 0 1
  • 1. 数据结构 本文整理自《大话数据结构》及传智播客视频教程 什么是数据结构? 数据结构主要研究非数值计算程序问题...
    Coding9933阅读 2,593评论 0 0
  • 分享编程技能、互联网技术、生活感悟、打造干货分享平台,将总结的技术、心得、经验分享给大家,这里不只限于技术!还有职...
    小辰带你看世界阅读 5,215评论 0 0
  • 一、什么是算法 1.1 算法和程序的区别 算法的定义:计算或解决问题的步骤和思想。可以将算法比喻做食谱,想要做出特...
    无忧_c063阅读 1,833评论 0 0
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 11,006评论 0 5