雷诺和泰曼的增长顺序定义


47

我正在阅读卡尔·雷诺兹(Carl Reynolds)和保罗·泰曼(Paul Tymann)撰写的一本名为《计算机科学原理》的书(由Schaum的提纲出版)。

第二章以顺序搜索示例介绍算法,该搜索简单地循环访问名称列表,如果在列表中找到给定名称,则返回TRUE。

作者继续说(第17页):

我们说顺序搜索算法的“增长顺序”是n。表示为T(n)。我们还说,增长顺序在T(n)的某个恒定因子之内的算法具有NLsay的theta。“顺序搜索的n为n。” 问题的大小为n,即要搜索的列表的长度。

我发现这确实很难遵循。这本书到处都是错误,所以我不确定是我遗漏了什么还是上面的段落中有错字。一般来说,我很少看到以“ ... say”结尾的句子。

我很困扰。

T代表什么?这本书没有解释。是时间还是Theta?

如果“ NL的theta”表示“顺序搜索的n为n”。L代表什么?“线性”还是“长度”?

我已写信给出版商,要求解释。他们说他们会将我的信息转发给作者。他们没有回答。我也尝试过查看其他资源,但仍然感到the惑,觉得我误会了一些东西,因此,在我对本段进行解码之前,请不要放松。

如果有人拥有该书的副本,并且已经理解该段落。然后,如果您能让我知道该段是否正确或用其他方式解释,将不胜感激。谢谢。


时间复杂度T(n),来自Wikipedia:“由于算法的执行时间可能因相同大小的不同输入而异,因此通常使用算法的最坏情况下的时间复杂度,记为T(n),定义为大小为n的任何输入所花费的最大时间量,较少见且通常明确指定的是平均情况下的复杂度的度量,时间复杂度是根据函数T(n)的性质进行分类的,例如一种算法[...]“
Stefan

1
我相信这是本书,除了我刚刚留下的非星篇评论外,今天还有另一本过时的书,这可能不是巧合!
杰森C

话语的用法感觉像是最少使用的定义:假设或假设。认为它是“ ...,假设”。仍然不确定这句话是否有意义。
罗杰·克鲁格

Answers:


77

该段是错误的。不幸的是,它看起来就像是一种不懂该材料的学生会写的东西,作为练习的答案。这种废话在教科书中没有位置。不要突然动作。把书放下来。远离书本。

T(n)

T(n)Tn

T(1)=kT(n)=T(n1)+lognfor n>1
TT(n)=blahTT

T(n)n

这显然已经被破坏了。我认为作者打算写类似的东西,

T(n)nn

但是,请不要说“具有的theta ”,就好像如果是您对身高的表示法,您不会说“约翰的为180cm”。这不是正确的单词形式。我们实际上说的是:“该算法的运行时间为theta (或 theta  )。” 特别要注意的是是用于讨论数学函数而不是算法的工具。Theta并不意味着运行时间是多少。相反,您可以使用它来谈论运行时间。ħ ħ Ñ Ñ ΘnhhnnΘ

顺便说一句,“ NL”表示复杂度类非确定性logspace,对于它在原始引号中出现的位置完全没有意义。


12
第一段让我微笑,因为这正是计算机科学警察会告诉您的事情:-)(也是+1,这是一个很好的答案)。
Juho 2015年

3
非常感谢您的解释。确实确实有很大帮助,现在我觉得我的理解要好一些(或者,至少,不要因为不理解该段而对我的大脑感到焦虑)。我现在可以放松。
JW。

2

听起来作者似乎正在尝试解释Big O表示法,但无特殊原因将其重命名为,并彻底修改了文本。T

为了更好地描述Big O符号(以及little-o和Theta),我推荐MIT的Leiserson教授的《算法介绍》一书。

似乎有一个重要的区别是是指算法的总复杂度,通常是时间空间或两者兼而有之。(例如,某些算法在处理较大数据集时运行速度较慢;某些算法在处理较大数据时需要更多的存储空间;某些算法需要更多的时间和更多的空间)Onotation

看来,这个是指只有一个算法的时间测量,并且不占存储需求。Tnotation


1
听起来根本不像他们在解释大O-他们明确地谈论theta。
David Richerby

Leiserson教授的文字专门将Theta描述为BigO的更精确变体。我意识到还有Theta的其他定义,但是与BigO相关的theta是我所熟悉的。
abelenky

2
我不认为这是怎么回事。相反,我怀疑这是编写“ T(n)= n”并假设(没有明确说出)每个人都会推断出T(n)指的是运行时间,尤其是他们所使用的算法的运行时间的普遍做法。请注意,n表示输入的大小。
DW
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.