【发布时间】:2016-04-05 15:19:05
【问题描述】:
我目前正在学习复杂性(或效率,不管你怎么称呼它),我在我得到的一本书中读到了它。 写了一些我觉得很无意义的东西,我需要一个解释。我已经尝试在网上查找,但我没有找到他们给出的这个特定示例的答案。
对于在大小为
n的一维数组中获取最大数的算法,输入长度为n。“对于在二维数组中获取最大数的算法,
n*n的大小输入长度仍为n。”
我不明白为什么在这两种情况下输入长度都是'n',即使对于二维你必须通过n*n 数字...
它说
输入长度 = 完成的工作量 ...
对我来说没有任何意义。 有人愿意解释一下吗?他们当然不会在那里解释。
【问题讨论】:
-
他们如何定义
input length?根据您问题中的书准确地写下定义。 -
@Am_I_Helpful 确实,我已经写过了。 “输入长度是表示算法工作量的度量” - 粗略翻译自希伯来语......我没有用英语学习这个材料。
-
那么,书中的工作量是如何定义的呢?是被视为输入的元素数量,还是计算该数组中最大元素的复杂度?
-
@Am_I_Helpful 工作量是计算机执行的操作数。例如:“if (h
-
也许这对你有帮助 ---> cs.cmu.edu/~avrim/451f11/lectures/lect0908.pdf 。我觉得他们假设二维数组的元素总数为
n,否则不可能以 O(n) 复杂度完成。不过我可能错了。
标签: algorithm time-complexity complexity-theory