程序或算法的时间复杂度
程序或算法的时间复杂度
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))
程序或算法的时间复杂度相关推荐
- 关于算法的时间复杂度和空间复杂度的总结
一.算法的概念 算法(Algorithm)是将一组输入转化为一组输出的一系列计算步骤,其中每个步骤必须能在有限时间内完成.算法是用来解决一类计算问题的,注意是一类问题,而不是一个特定的问题. 二. ...
- 简单分析算法的时间复杂度
目录 一.什么是算法的时间复杂度 二.如何分析一个算法的时间复杂度 1.有确定次数的算法 2.次数不确定的算法 一.什么是算法的时间复杂度 时间复杂度是一个函数 ,定性描述一个算法(程 ...
- 【算法的时间复杂度和空间复杂度】-算法02
算法的时间复杂度和空间复杂度 一个算法的好坏我们主要从"时间"和"空间" 两个维度来衡量 时间维度:是指执行当前算法所消耗的时间,我们通常用 "时间复 ...
- 《大话数据结构》第2章 算法基础 2.9 算法的时间复杂度
2.9 算法的时间复杂度 2.9.1 算法时间复杂度定义 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级.算法的时间复杂度,也就 ...
- 算法和时间复杂度概念(一级)
第一个内容什么是算法?什么是算法的复杂度?什么是算法的空间复杂度?我们的标题是数据结构和算法入门,这两个就是数据结构的入门,这三个就是算法的入门什么叫算法?算法就是指令的集合,是为解决特定问题而规定的 ...
- 数据结构与算法之时间复杂度详解
数据结构与算法之时间复杂度详解 目录 排序算法的介绍和分类 算法的时间复杂度概念 常见的时间复杂度解析 平均时间复杂度和最坏时间复杂度 空间复杂度介绍 1. 排序算法的介绍和分类 排序算法的介绍 排序 ...
- a*算法的时间复杂度_算法的时间和空间复杂度,就是这么简单
算法(Algorithm) 算法是程序用来操作数据.解决程序问题的一组方法.对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别. 那么我们应该如何去 ...
- Python数据结构与算法(一)--算法和时间复杂度
最近下班一直在学习和总结Python,最近在整理数据结构和算法这方面的知识,虽然大学的时候也学过数据结构(c语言版本),但是工作这几年一直在做前端所以,这方面的知识也忘了差不多,所以就想整理一下,方便 ...
- 【Java数据结构与算法】第六章 算法的时间复杂度、算法的空间复杂度和排序算法的介绍
第六章 算法的时间复杂度.算法的空间复杂度和排序算法的介绍 文章目录 第六章 算法的时间复杂度.算法的空间复杂度和排序算法的介绍 一.算法的时间复杂度 1.时间频度 2.时间复杂度 3.常见的时间复杂 ...
最新文章
- SaaS九问,ToB必读
- 看透 Spring MVC 源代码分析与实践 —— 俯视 Spring MVC
- 解析 Linux 中的 VFS 文件系统机制
- 华为项目Tree canvas画图2
- Web开发人员应当知道的15个开源项目
- SQL Server里面如何导出包含数据的SQL脚本
- equals和==比较
- stm32F205程序移植到stm32F405片子,使用FPU时注意事项
- 关于「数据分析师」的一些理解
- python使用gmail发送邮件
- 线性规划,大M法,两阶段法
- # ** Error: ../tb/bfm/bfm_tb_ddr3/bfm_tb_ddr3.v(186): Illegal task output argument.
- nandflash oob解析
- 初探springboot的荆棘之路
- php zend optimizer 解密,zend guard对php代码加密 zend optimizer解析
- 飞控中的IIR二阶滤波器
- 数据保护与云不离不弃,云中护航渐成行业主旋律
- BAPI货物移动时报错
- ppt密码忘了怎么解除,ppt权限密码怎么解开?
- 数学笔记27——极坐标下的面积