python 下的数据结构与算法---2:大O符号与常用算法和数据结构的复杂度速查表
2016-03-22 22:41
375 查看
目录:
[b]一:大O记法[/b]
[b][b]二:各函数高阶比较[/b][/b]
[b][b][b]三:常用算法和数据结构的复杂度速查表[/b][/b][/b]
四:常见的logn是怎么来的
一:大O记法
算法复杂度记法有很多种,其中最常用的就是Big O notation(大O记法):
对于其中的g(x)是关于操作元素数x为自变量的计算次数函数,而x趋近无穷大从而只留下最高项且忽略其常数项是为了集中看函数随着元素个数的大量增加后运行时间的增加速度从而用来衡量时间复杂度。
e.g:
for i in range(x):
print(‘aha’)
print(i)
print(‘end’)
则g(x)=2x+1,留下最高项2x,去掉常数项2,最后O(x)=x
其他同理呐
二:各函数高阶比较
高阶就是函数图在第一象限更接近y轴的函数啦,常见的如下:
O(1) < O(log n) < O(n) < O(n log n) < O(n2) < O(n3) < O(an)
三:常用算法和数据结构的复杂度速查表
*能fanqiang的仁兄google:big O cheat sheet中的PDF就是,不能的见下图吧:
四:常见的logn是怎么来的
[b] 由公式:logbn = [b]log[/b][b]a[/b][b][b]n[/b]/ logab (*)[/b][/b]
[b][b] 令c = 1/[b][b]logab[/b][/b][/b][/b]
[b][b] 则(*):[b]logbn = c [b]loga[b]n ,而C可以省去[/b][/b][/b][/b][/b]
[b][b][b][b][b] 故在如二分法等中的中的g(x)=C[b][b][b]log2n可以写成[b][b][b][b][b][b][b][b]logn[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b] (即是b=2, a=10)[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b]一:大O记法[/b]
[b][b]二:各函数高阶比较[/b][/b]
[b][b][b]三:常用算法和数据结构的复杂度速查表[/b][/b][/b]
四:常见的logn是怎么来的
一:大O记法
算法复杂度记法有很多种,其中最常用的就是Big O notation(大O记法):
对于其中的g(x)是关于操作元素数x为自变量的计算次数函数,而x趋近无穷大从而只留下最高项且忽略其常数项是为了集中看函数随着元素个数的大量增加后运行时间的增加速度从而用来衡量时间复杂度。
e.g:
for i in range(x):
print(‘aha’)
print(i)
print(‘end’)
则g(x)=2x+1,留下最高项2x,去掉常数项2,最后O(x)=x
其他同理呐
二:各函数高阶比较
高阶就是函数图在第一象限更接近y轴的函数啦,常见的如下:
O(1) < O(log n) < O(n) < O(n log n) < O(n2) < O(n3) < O(an)
三:常用算法和数据结构的复杂度速查表
*能fanqiang的仁兄google:big O cheat sheet中的PDF就是,不能的见下图吧:
四:常见的logn是怎么来的
[b] 由公式:logbn = [b]log[/b][b]a[/b][b][b]n[/b]/ logab (*)[/b][/b]
[b][b] 令c = 1/[b][b]logab[/b][/b][/b][/b]
[b][b] 则(*):[b]logbn = c [b]loga[b]n ,而C可以省去[/b][/b][/b][/b][/b]
[b][b][b][b][b] 故在如二分法等中的中的g(x)=C[b][b][b]log2n可以写成[b][b][b][b][b][b][b][b]logn[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
[b][b][b][b][b][b][b][b][b][b][b][b][b][b][b][b] (即是b=2, a=10)[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
相关文章推荐
- 链表,折磨人的数据结构
- 数据结构课设 家谱处理 (map)
- poj 2777(线段树+区间染色)
- 数据结构 串匹配 好难懂
- 每周数据结构【5】:在二叉树中递归查找为data值的点
- 数据结构顺序表
- HDU 4763 数据结构之KMP+二分
- Python 数据结构与算法——deque(双端队列)
- 重学数据结构系列之——二叉树基础
- 算法与数据结构学习笔记系列——递归(1)
- HDU 4081 次小生成树变形记
- Python 数据结构与算法——拓扑排序
- 数据结构学习笔记02堆栈
- 数据结构——单链表的初操作
- 数据结构第一题线性表的各种操作SqList
- 大话数据结构--第四章 栈与队列
- 经典算法与数据结构的c++实现——快速排序
- 数据结构学习路线+笔记
- 数据结构(Data Structure)——0、数据类型
- 数据结构(看了之后还不懂我退出IT界)