时间复杂度tnofn的o什么意思

2020-11-18 22:15:17 字数 3808 阅读 2051

1楼:1么么么么么哒

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)就好了。

谁能解释一下计算机中的数据结构中的“时间复杂度t(n)=o(f(n))”每个字母的含义?

2楼:匿名用户

t(n)就是表示时间复杂度了

o是大o表示法(big-o notation),f(n)是大o表示法表示时间复杂度的结果。

算法设计与分析 已知某个算法的时间复杂度t(n)=o(f(n)),f(n)是什么函数?t(n)和f(n)是什么关系?

3楼:匿名用户

时间复杂度

算法分析

同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。

1、时间复杂度

(1)时间频度

一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。

一个算法中的语句执行次数称为语句频度或时间频度。记为t(n)。

(2)时间复杂度

在刚才提到的时间频度中,n称为问题的规模,当n不断变化时,时间频度t(n)也会不断变化。但有时我们想知道它变化时呈现什么规律。为此,我们引入时间复杂度概念。

一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用t(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,t(n)/f(n)的极限值为不等于零的常数,则称f(n)是t(n)的同数量级函数。记作t(n)=o(f(n)),称o(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。

在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为o(1),另外,在时间频度不相同时,时间复杂度有可能相同,如t(n)=n2+3n+4与t(n)=4n2+2n+1它们的频度不同,但时间复杂度相同,都为o(n2)。

按数量级递增排列,常见的时间复杂度有:

常数阶o(1),对数阶o(log2n),线性阶o(n),

线性对数阶o(nlog2n),平方阶o(n2),立方阶o(n3),...,

k次方阶o(nk),指数阶o(2n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

c语言,时间复杂度与空间复杂度,算法时间公式t(n)=o(f(n)),与空间公式s(n)=o(f(n))

4楼:匿名用户

算法的时间复杂度:

为了便于比较同一问题的不同算法,通常从算法中抽取一种或者多种有代表性的基本操作,再以这些基本操作重复执行的次数与问题规模的关系t(n) 作为算法的时间性量度。

如果t(n) 和 f(n) 是n 的函数,当n →∞ 时,有t(n) / f(n) → c (常数c ≠ 0),记作:t(n) = o(f(n)),称o(f(n)) 为算法的渐近时间复杂度,简称时间复杂度。

算法的空间复杂度:

一个算法实现所占存储空间大致包含三方面:

1. 指令、常数、变量所占用的存储空间;

2. 输入数据所占用的存储空间;

3. 算法执行时所需的辅助空间;

前两者是必须的,通常将算法执行时所需的辅助空间作为分析算法空间复杂度的依据:s(n) = o(f(n)),其中f(n)的规则与时间复杂度一致。

如果一个算法的时间复杂度是o(f(n)).试解释o(f(n))的含义 并画图描述

5楼:心の在り処

设算法运行时间为 g(n)

g(n) = o(f(n)) 表明 存在n,及常数c, 当 n > n 时 g(n) <= c*f(n)

称算法的时间复杂度为o(f(n)),其中含义是指算法的执行时间和什么的数量级相同?

6楼:匿名用户

和f(n)相同。

这都什么定义啊,就是对o()符号的曲解。

【查找技术】顺序查找的时间复杂度o(n),请问o(n)什么意思啊?

7楼:匿名用户

算法执行时间与问题规模的函数关系,因为有n个关键码,顺序查找一般平均需要比较(n+1)/2次,于是时间复杂度就是(n+1)/2,当n->无穷大时,该表达式与n为同阶无穷大,记为o(n),这是高等数学里就有的表示法

o(n)是什么

8楼:guxuecan剑

o(n)不是算法,它是一个函

数,是一个表征算法时间复杂度的一个函数。

计算机科学中,算法的时间复杂度是一个函数,它定性描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大o符号表述,不包括这个函数的低阶项和首项系数。

使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况。

9楼:匿名用户

1、时间复杂度

(1)时间频度

一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。

一个算法中的语句执行次数称为语句频度或时间频度。记为t(n)。

(2)时间复杂度

在刚才提到的时间频度中,n称为问题的规模,当n不断变化时,时间频度t(n)也会不断变化。但有时我们想知道它变化时呈现什么规律。为此,我们引入时间复杂度概念。

一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用t(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,t(n)/f(n)的极限值为不等于零的常数,则称f(n)是t(n)的同数量级函数。记作t(n)=o(f(n)),称o(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。

在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为o(1),另外,在时间频度不相同时,时间复杂度有可能相同,如t(n)=n2+3n+4与t(n)=4n2+2n+1它们的频度不同,但时间复杂度相同,都为o(n2)。

按数量级递增排列,常见的时间复杂度有:

常数阶o(1),对数阶o(log2n),线性阶o(n),

线性对数阶o(nlog2n),平方阶o(n2),立方阶o(n3),...,

k次方阶o(nk),指数阶o(2n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

10楼:方田

^o(n)表示时间复杂度,它是衡量一个算法消耗时间的量度

如:计算f(x)=x^3+2x^2+5x-6中,随着x的不断趋向极端(即正无穷与负无穷)时,x^3越来越起主导作用,所以我们称这个算法的时间负杂度为o(3)

11楼:匿名用户

对对对哇哇哇但事实上

12楼:匿名用户

时间复杂度,了解其含义,可以看一些算法方面的书

如何对n个数进行排序,要求时间复杂度o,空间复杂度o

1楼 mean有方法的 o什么,要知道,排序理论最快时间复杂度只能是nlogn,不能再快,这是有证明的。想要提高速度用c 函数库的qsort 如何对n个数进行排序,要求时间复杂度o,空间复杂度o 2楼 钟萌纳 题目 如何对n个不重复出现的整数序列进行排序 已知这些数的范围为 0 65535 要求时间...

各种排序法的时间复杂度到底多少,各种排序法的时间复杂度到底多少 10

1楼 世界文明导师 根据《算法导论 中文版 》p83 以及《算法 中文版 》部分章节版内容 算法 最坏情况运行时权间 平均情况 冒泡 插入 选择 排序 n 2 n 2 快速排序 n 2 n log n 希尔排序 希尔增量 n 2 n 1 3 2 堆排序 n log n n log n 注 希尔排序的...

盛放40度以上的热水时,请勿直接饮用什么意思

1楼 城里郊外 盛放40度以上的热水时 请勿直接饮用,就是不要马上喝。 保温杯上写着盛放40度以上的热水时,请勿直接饮用,是什么意思 2楼 结构师 40度以上的时候直接喝会烫伤口腔,放一会就可以喝了 采纳哦谢谢 3楼 木子 会伤害食道。 经常吃温度太高的食品,容易得食道癌。 这保温杯上说盛放40度以...