算法中时间空间复杂度说明
时间:2019-06-15
本文章向大家介绍算法中时间空间复杂度说明,主要包括算法中时间空间复杂度说明使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度,这是算法的时间复杂度的表示。
O后面的括号中有一个函数,指明某个算法的耗时与数据增长量之间的关系。其中的n代表输入数据的量。
表达式 | 说明 | 示例 |
O(1) |
最低时间复杂度,也就是耗时与输入数据大小无关, 无论输入数据增大多少倍,耗时/耗空间都不变。 |
哈希算法(无论数据规模多大,都可以在一次计算后找到目标, 不考虑冲突的话) |
O(n) | 数据量增大几倍,耗时也增大几倍。 | 遍历算法 |
O(logn) |
当数据增大n倍时,耗时增大logn倍(这里的log是以2为底的, 比如,当数据增大256倍时,耗时只增大8倍, 是比线性还要低的时间复杂度) |
1. 二分查找就是O(logn)的算法,每找一次排除一半的可能, 256个数据中查找只要找8次就可以找到目标. 2.欧几里德算法(求最大公因数); 3.求幂; |
O(nlogn) |
n乘以logn,当数据增大256倍时,耗时增256*8=2048倍。 这个复杂度高于线性低于平方。 |
归并排序就是O(nlogn)的时间复杂度。 |
参考:https://blog.csdn.net/qq_34229351/article/details/80841482
原文地址:https://www.cnblogs.com/Rawls/p/11027975.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【C语言简单说】十五:while循环
- 【C语言简单说】十六:do...while循环
- 【C语言简单说】十七:数组
- 【C语言简单说】十七:数组(补)
- 【C语言简单说】十八:二维数组
- 【C语言简单说】十九:二维数组循环嵌套(1)
- 【C语言简单说】十九:二维数组循环嵌套(2)
- 【C语言简单说】二十:指针基础
- 【C语言简单说】二十一:双重指针基础 (完结)
- 有关 php __autoload 自动加载类函数的用法
- sql 子查询(mysql)
- php 使用PDO,防止sql注入 简单说明
- js (javascript) 中获取年月日信息
- js(javascript)取得当前时间小时,分钟,秒 以及毫秒
- js(javascript) onclick与ondblclick 单击与双击事件