时间复杂度的五个记号

简介: 时间复杂度的五个记号

算法复杂度分析中的符号(Θ、Ο、ο、Ω、ω)

**

首先要明白两个复杂度:

一个是时间复杂度,一个是渐近时间复杂度。前者是某个算法的时间耗费,它是该算法所求解问题规模n的函数,而后者是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。

Θ,既是上界也是下界(tight),就是相等,准确的复杂度

Ο,表示渐进上界(tightness unknown),小于等于的意思,近似复杂度。

ο,表示上界(not tight),小于的意思,明确的知道小于它,准确计算出来的。

Ω,表示渐进下界(tightness unknown),大于等于的意思,近似复杂度。

ω,表示下界(not tight),大于的意思,明确的知道大于它,准确计算出来的。

20200322135521493.png


顺便补充:

几种常见的复杂度关系

20200322135225496.png

n默认为2,n因为计算机中很多程序是用二分法实现的。

相关文章
|
15小时前
|
人工智能 算法 BI
【前缀和】【分类讨论】【二分查找】2983:回文串重新排列查询
【前缀和】【分类讨论】【二分查找】2983:回文串重新排列查询
|
10月前
|
算法 C语言
C语言:使用 普通方法 和 二分查找算法(折半查找算法) 在一个有序数组中查找具体的某个数字n-2
第一步: (1). 设置初始数组:int arr[]。 (2). 生成相关变量: int n = 0; -- 存放从键盘输入的要查找的值; int i = 0; -- 循环变量;
|
5月前
|
机器学习/深度学习 算法
算法分析 | 第三套(渐近符号)
算法分析 | 第三套(渐近符号)
43 0
|
10月前
|
算法 C语言
C语言:使用 普通方法 和 二分查找算法(折半查找算法) 在一个有序数组中查找具体的某个数字n-1
思路一:普通方法 (逻辑简单,在无序数组中也可以使用,但效率较低,需要逐个查找) 总体思路:
|
10月前
|
算法 搜索推荐
【算法】非递归堆排序判断字符串中所有字符是否只出现一次
【算法】非递归堆排序判断字符串中所有字符是否只出现一次
35 0
|
10月前
|
机器学习/深度学习 Go C语言
921. 使括号有效的最少添加:简单贪心思想
这是 力扣上的 921. 使括号有效的最少添加,难度为 中等。
|
10月前
|
缓存 算法 程序员
字符串匹配查找算法总结
字符串匹配查找算法总结
53 0
【力扣】最后一个单词的长度 反向遍历解题是不是最优解?
【力扣】最后一个单词的长度 反向遍历解题是不是最优解?
【力扣】最后一个单词的长度 反向遍历解题是不是最优解?
|
算法
【Day21】LeetCode算法题 [921. 使括号有效的最少添加 ] [1706. 球会落何处]
学习LeetCode算法题 [921. 使括号有效的最少添加 ] [1706. 球会落何处]。
142 0
【Day21】LeetCode算法题 [921. 使括号有效的最少添加 ] [1706. 球会落何处]