关于背包的大O的定义

755

所以我读到背包问题的时间复杂度是指数的,因为它是O(nW),并且时间相对于W的位串的长度呈指数增长。

但是,如果是这种情况,这并不意味着相对于位串的长度,以整数N作为输入并输出0到N之间的每个数字的算法也将在指数时间内(而不是线性)运行N?

Arghbleargh

那是正确的。一种将整数N打印为0到N的整数作为输入的算法,其时间将以N的位数呈指数形式运行。因此,当我们说一种算法是“多项式”或“指数”时,我们的意思取决于我们使用什么单位。

通常,单位对应于输入的大小(这解释了为什么我们用背包情况下的位数进行测量)。您的第二个示例看起来很奇怪的原因是,通常情况下,当我们需要遍历N个事物时,输入的大小也是N阶。例如,要对N个数字求和,我们需要读入N个数字,该数字决定了数量计算本身需要读取数字N。

顺便说一句,我们通常也认为读数字需要花费固定的时间,但这并不是完全准确的,因为用对数数位来表示一个数字。但是,出于实际目的,这并不重要,因为计算机通常具有处理1的方式与1000000000相同的硬件。此处有一些相关讨论:http : //en.wikipedia.org/wiki/Random-access_machine

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

关于背包的大O的定义

来自分类Dev

关于代码的大O的解释

来自分类Dev

大O符号:定义

来自分类Dev

关于时间复杂度,大O表示法

来自分类Dev

关于大O符号和复杂性

来自分类常见问题

关于类定义的困惑

来自分类Dev

大整数值的定义

来自分类Dev

关于PCL多次定义类型的奇怪错误

来自分类Dev

在Theano中定义关于张量的梯度

来自分类Dev

关于Python中的部分定义的困惑

来自分类Dev

如何定义关于4列的指标?

来自分类Dev

关于类定义的Struct.new

来自分类Dev

关于android定义和概念的帮助

来自分类Dev

关于CMFCToolbar自定义教程的参考?

来自分类Dev

在Theano中定义关于张量的梯度

来自分类Dev

RibbonXML自定义“关于”菜单

来自分类Dev

关于关注的Rails自定义路径

来自分类Dev

关于类中的方法定义

来自分类Dev

关于创建自定义异常

来自分类Dev

关于信息和熵定义的性质

来自分类Dev

关于限制的 Haskell 类定义问题

来自分类Dev

关于 UIImageView 自定义的建议

来自分类Dev

如何使用背包V4创建自定义存储方法

来自分类Dev

使用Cron Jobs时未定义的REMOTE_ADDR-Laravel背包

来自分类Dev

背包01

来自分类Dev

背包的变体

来自分类Dev

关于从函数和移动返回大值的困惑

来自分类Dev

关于将值设置为大的负数或大的正数的伪代码问题

来自分类Dev

无法弄清楚为什么如果我使用自定义标头排序,则无法使用背包。