程序或算法的时间复杂度

1.一个程序或算法的时间效率,也称“时间复杂度”,有时简称“复杂度”。
2.复杂度常用大的字母O和小写字母n来表示,比如O(n),O(n²)等。n代表问题的规模。
3.时间复杂度是用算法运行过程中,某种时间固定的操作需要被执行的次数和n的关系来度量的。在无序数列中查找某个数,复杂度是O(n)。
4.计算复杂度的时候,只统计执行次数最多的(n足够大时)那种固定操作的次数。比如某个算法需要执行加法n²次,除法n次,那么就记其复杂度是O(n²)。
5.复杂度有“平均复杂度”和“最坏复杂度”两种。两者可能一致,也可能不一致。
6.如果复杂度是多个n的函数之和,则只关心随n的增长,增长最快的那个函数:
O(n²+n³) ==>O(n³)
O(2^n+n³) ==>O(2^n)
O(n!+3^n) ==>O(n!)
7.常数复杂度(与问题的规模无关):O(1)
对数复杂度:O(log(n))
线性复杂度:O(n)
多项式复杂度:O(n^k)
指数复杂度:O(a^n)
阶乘复杂度:O(n!)
例:
1.在无序数列中查找某个数(顺序查找):O(n)
2.平面上有n个点,要求出任意两点之间的距离:O(n²)
3.插入、选择、冒泡排序:O(n²)
4.快速排序:O(n*log(n))
5.二分查找:O(log(n))

程序或算法的时间复杂度相关推荐

  1. 关于算法的时间复杂度和空间复杂度的总结

    一.算法的概念   算法(Algorithm)是将一组输入转化为一组输出的一系列计算步骤,其中每个步骤必须能在有限时间内完成.算法是用来解决一类计算问题的,注意是一类问题,而不是一个特定的问题. 二. ...

  2. 简单分析算法的时间复杂度

    目录 一.什么是算法的时间复杂度 二.如何分析一个算法的时间复杂度 1.有确定次数的算法 2.次数不确定的算法 一.什么是算法的时间复杂度         时间复杂度是一个函数 ,定性描述一个算法(程 ...

  3. 【算法的时间复杂度和空间复杂度】-算法02

    算法的时间复杂度和空间复杂度 一个算法的好坏我们主要从"时间"和"空间" 两个维度来衡量 时间维度:是指执行当前算法所消耗的时间,我们通常用 "时间复 ...

  4. 《大话数据结构》第2章 算法基础 2.9 算法的时间复杂度

    2.9 算法的时间复杂度 2.9.1 算法时间复杂度定义 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级.算法的时间复杂度,也就 ...

  5. 算法和时间复杂度概念(一级)

    第一个内容什么是算法?什么是算法的复杂度?什么是算法的空间复杂度?我们的标题是数据结构和算法入门,这两个就是数据结构的入门,这三个就是算法的入门什么叫算法?算法就是指令的集合,是为解决特定问题而规定的 ...

  6. 数据结构与算法之时间复杂度详解

    数据结构与算法之时间复杂度详解 目录 排序算法的介绍和分类 算法的时间复杂度概念 常见的时间复杂度解析 平均时间复杂度和最坏时间复杂度 空间复杂度介绍 1. 排序算法的介绍和分类 排序算法的介绍 排序 ...

  7. a*算法的时间复杂度_算法的时间和空间复杂度,就是这么简单

    算法(Algorithm) 算法是程序用来操作数据.解决程序问题的一组方法.对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别. 那么我们应该如何去 ...

  8. Python数据结构与算法(一)--算法和时间复杂度

    最近下班一直在学习和总结Python,最近在整理数据结构和算法这方面的知识,虽然大学的时候也学过数据结构(c语言版本),但是工作这几年一直在做前端所以,这方面的知识也忘了差不多,所以就想整理一下,方便 ...

  9. 【Java数据结构与算法】第六章 算法的时间复杂度、算法的空间复杂度和排序算法的介绍

    第六章 算法的时间复杂度.算法的空间复杂度和排序算法的介绍 文章目录 第六章 算法的时间复杂度.算法的空间复杂度和排序算法的介绍 一.算法的时间复杂度 1.时间频度 2.时间复杂度 3.常见的时间复杂 ...

最新文章

  1. SaaS九问,ToB必读
  2. 看透 Spring MVC 源代码分析与实践 —— 俯视 Spring MVC
  3. 解析 Linux 中的 VFS 文件系统机制
  4. 华为项目Tree canvas画图2
  5. Web开发人员应当知道的15个开源项目
  6. SQL Server里面如何导出包含数据的SQL脚本
  7. equals和==比较
  8. stm32F205程序移植到stm32F405片子,使用FPU时注意事项
  9. 关于「数据分析师」的一些理解
  10. python使用gmail发送邮件
  11. 线性规划,大M法,两阶段法
  12. # ** Error: ../tb/bfm/bfm_tb_ddr3/bfm_tb_ddr3.v(186): Illegal task output argument.
  13. nandflash oob解析
  14. 初探springboot的荆棘之路
  15. php zend optimizer 解密,zend guard对php代码加密 zend optimizer解析
  16. 飞控中的IIR二阶滤波器
  17. 数据保护与云不离不弃,云中护航渐成行业主旋律
  18. BAPI货物移动时报错
  19. ppt密码忘了怎么解除,ppt权限密码怎么解开?
  20. 数学笔记27——极坐标下的面积

热门文章

  1. 最小二乘法拟合直线——MATLAB和Qt-C++实现
  2. python用双重循环输出菱形_Python 使用双重循环打印图形菱形操作
  3. 游戏开发中的坑之十一 代码改变灯光的cullingmask
  4. C语言字母大小写互换的简单方法
  5. 支持苹果18W-60W PD快充协议芯片JD6606S
  6. FreePascal - Typhon在Windows10 X64下的使用问题!
  7. supervisor前端-cesi的安装
  8. ChatGPT聊天机器人如何发图片????
  9. 新书推荐:《AI 3.0》
  10. 微信小程序显示空格符