【问题标题】:Confusing part in the introduction to algorithms算法介绍中令人困惑的部分
【发布时间】:2017-01-17 08:27:38
【问题描述】:

例如,在处理大小为 n 的输入时,我们通常假设整数由 c lg n 位表示,对于某个常数 c 1。

他们为什么假设它...?为什么c lg n ...? 很抱歉问了一个非常简单的问题。提前谢谢你。

【问题讨论】:

  • 上下文是什么
  • RAM模型中的数据类型有整型和浮点型(用于存储实数)。尽管在本书中我们通常不关心精度,但在某些应用程序中精度是至关重要的。我们还假设每个数据字的大小有限制。例如,在处理大小为 n 的输入时,我们通常假设整数由 c lg n 位表示,对于某个常数 c 1。
  • 这个。这是一本很难的书,不是吗

标签: algorithm


【解决方案1】:

所以n 取决于您操作的数据。例如。您的值为212lg n 的值将是8(或9)。但这并不能说明您操作的实际数据和机器类型。假设这里的字长正好是8 bits 是不正确的。常量c 用于在大型字长机器上处理少量输入的情况。 c 的添加因子允许我们假设机器字长至少为 lg n,但可能更大,而不会弄乱分析。

总结n取决于实现独立的数值。处理器必须为操作执行的工作量不取决于此值,而是取决于需要多少位。因此对数。常量c 指的是机器或实现特定的复杂性。

这有帮助吗?

【讨论】:

  • 非常感谢您的帮助。但我还是不明白。为什么 lg n 的 212 变成 12?我以为我了解日志,但可能不了解……而且我不明白为什么 12 意味着 12 位。
  • 12 只是一个示例,以明确数值精度和机器精度之间存在差异。
猜你喜欢
  • 2011-04-20
  • 2014-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多