社区
数据结构与算法
帖子详情
刚学数据结构,关于时间复杂度有点不明白
asenpal
2010-09-19 02:43:39
比如 T(n)=nlog2n+5000n, 为啥时间复杂度是O(nlog2n)呢,是咋算的啊,是求T(n)的极限吗
...全文
287
14
打赏
收藏
刚学数据结构,关于时间复杂度有点不明白
比如 T(n)=nlog2n+5000n, 为啥时间复杂度是O(nlog2n)呢,是咋算的啊,是求T(n)的极限吗
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
genlic
2010-09-25
打赏
举报
回复
当n到无穷的时候,就可以忽略了。
nodiebirdcomeback
2010-09-24
打赏
举报
回复
关于时间复杂度的计算有些是有规律可寻的。
对线性表的遍历的复杂度取决于线性表的元素个数即为n
读于树的遍历没有固定分析方法,指定对指定的树的类型和特点以及
算法本身来分析得到的。
对于多层嵌套代码的复杂度计算取决于循环层数以及循环量跟问题规模n的关系。
nodiebirdcomeback
2010-09-24
打赏
举报
回复
时间复杂度是指程序代码段在处理问题规模(用n表示)的时候,所需要时间的度量计算方法。
计算复杂度:根据各项相对于规模变量n的函数项之和来判断的,哪个函数项对于问题n的函数
值的增量变化越大就是它了。其实计算增量的时候,可以用导数来计算。
T(n)=nlog2n+5000n可以看成是f1(n) = nlog2n 和 f2(n) = 5000n
的和:即T(n) = f1(n) + f2(n) (1)
明显的f2(n)的函数增长远没f1(n)的快。
所以时间复杂度应该是nlog2n
如果对函数进行求导出现同阶的情况那就的看无穷大的极限了。
xinzaiyiqi
2010-09-24
打赏
举报
回复
的确如楼上所说
wizard_tiger
2010-09-21
打赏
举报
回复
[Quote=引用 2 楼 asenpal 的回复:]
引用 1 楼 xingzhe2001 的回复:
是选取上式中的高次部分,忽烈次要部分
为什么啊。我记得在哪看到过,好像跟极限有点关系
[/Quote]
时间复杂度是语句频度n趋于无穷大时的同阶无穷大
即T(n)=nlog2n+5000n的同阶无穷大也就是O(nlog2n)
焙焙龙
2010-09-20
打赏
举报
回复
画个二维数轴就知道了
当n趋向于无穷大的时候,整个函数的图像,趋向于没有低此项的函数图像
michael122
2010-09-19
打赏
举报
回复
看复杂度的时候都是忽略常数的
5000再大也不过是一个固定的常数,跟logn是没法比的
所以第一项在n足够大的时候“统治”了第二项
超级大笨狼
2010-09-19
打赏
举报
回复
复杂度是当输入趋向无穷大的时候带来的变化。
所以,忽略数量级小的。
T(n)=nlog2n+5000n
这个可以认为是nlogn
连2和5000n都可以忽略。
williamsong997
2010-09-19
打赏
举报
回复
有谁真懂的,就详细解释下!
拒绝不懂装懂哦
keeya0416
2010-09-19
打赏
举报
回复
[Quote=引用 2 楼 asenpal 的回复:]
引用 1 楼 xingzhe2001 的回复:
是选取上式中的高次部分,忽烈次要部分
为什么啊。我记得在哪看到过,好像跟极限有点关系
[/Quote]
[Quote=引用 1 楼 xingzhe2001 的回复:]
是选取上式中的高次部分,忽烈次要部分
[/Quote]
nlog2n+5000n 当 n ——> 无穷大 的时候 5000 相比 log2n 来说是可以忽略的
xingzhe2001
2010-09-19
打赏
举报
回复
正式的做法是f(x)=O(g(x)) as x->a 当且仅当
也就是在x大与某个值得时候有 f(x)<=M*|g(x)|
所以如果是低次的项,总可以找到个常数使得 小于 常数*高次,最后的结果及时保留最高次,忽略乘中常数。
xingzhe2001
2010-09-19
打赏
举报
回复
正式的做法是f(x)=O(g(x)) as x->a 当且仅当
也就是在x大与某个值得时候有 f(x)<=M*|g(x)|
所以如果是低次的项,总可以找到个常数使得 小于 常数*高次,最后的结果及时保留最高次,忽略乘中常数。
asenpal
2010-09-19
打赏
举报
回复
[Quote=引用 1 楼 xingzhe2001 的回复:]
是选取上式中的高次部分,忽烈次要部分
[/Quote]
为什么啊。我记得在哪看到过,好像跟极限有点关系
xingzhe2001
2010-09-19
打赏
举报
回复
是选取上式中的高次部分,忽烈次要部分
【
数据结构
】
时间复杂度
详解
首先我们要知道学习
数据结构
时都会讨论到算法,
数据结构
中的问题多数都有算法解决,两者是你中有我,我中有你的关系,所以在
数据结构
中的学习中算法也是必不可少的。为方便阅读,以下为本片目录。
一起来学
数据结构
——
时间复杂度
和空间复杂度
一起来学
数据结构
——
时间复杂度
和空间复杂度
时间复杂度
概念 算法中基本操作的执行次数,就是
时间复杂度
。(注意:不是运行所需要的时间) 如何计算
时间复杂度
实例1 // 请计算一下Func1基本操作执行了多少次? ...
数据结构
篇:空间复杂度和
时间复杂度
本篇文章
数据结构
的开篇,也是对C语言部分结尾的继承,属于是承上启下。什么是
数据结构
,什么又是算法。这两者为什么紧密相连?
时间复杂度
和空间复杂度是贯穿整个
数据结构
的内容。重要的是画图,调试!!!
【
数据结构
入门】算法的
时间复杂度
和空间复杂度详解
文章目录【
数据结构
学习之路】算法的
时间复杂度
和空间复杂度(1)算法效率(2)
时间复杂度
的计算1)什么是
时间复杂度
2)大O渐进表示法(估算)3)
时间复杂度
计算实例4)总结5)一些思考(3)空间复杂度的计算(4)...
【初阶
数据结构
】——
时间复杂度
和空间复杂度详解(C描述)
认识什么是
数据结构
和算法,详解
时间复杂度
,空间复杂度及例题练习
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章