算法分析中O(n)什么含义
我知道这是时间复杂度,我想知道O(n)是高阶无穷小的意思吗?是不是说O(n)/o的极限是零呢?请解释一下:for(i=0;i<n;i++)for(j=0;j<n;j++)...
我知道这是时间复杂度,我想知道O(n)是高阶无穷小的意思吗?是不是说O(n)/o的极限是零呢?请解释一下: for(i=0;i<n;i++) for(j=0;j<n;j++) { c[i][j]=0; for(k=0;k<n;k++) c[i][j]=c[i][j]+a[i][k]*b[k][j]; }共n3次乘法、n3次加法时间复杂度为O(n3) 为什么时间复杂度是O(n3),请解释
展开
2个回答
推荐于2017-11-26
展开全部
O(n)这个大O表示的是最坏情况下的时间复杂度,就比如你举的例子,一共n^3次乘法和n^3次加法,那么加起来就是2×n^3。 然后如果有一个表达式f(n),使得n趋于无穷大的时候,lim(2×n^3)/f(n)=常数c,那么就可以用大O表示。表示为O(f(n)),而且规定f(n)的表达式是不带常数的系数的,那么在这里f(n)=n^3。 一般用大O表示算法复杂度只需要取次数最高的项,而且去掉系数就OK了,不用每次都这么算的。三重循环而且每重循环都执行n次的话直接O(n^3)就好了。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
2013-09-12
展开全部
O(n) 表示运行时间的上界 通俗点说就是算法运行的最坏情况该程序有三重循环 由c[i][j]=c[i][j]+a[i][k]*b[k][j];可知进行一次乘法必进行一次加法 故T(n)<=n^3+n^3=2n^3=cn^3故T(n)=O(g(n))=O(n^3)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询