【问题标题】:Time complexity of a Turing machine for repeat strings重复字符串的图灵机时间复杂度
【发布时间】:2013-01-21 05:58:23
【问题描述】:

我试图找出在三种情况下接受重复字符串 (ww) 的图灵机的时间复杂度:1-tape 确定性机器、2-tape 确定性机器和 1-tape 非确定性机器。

现在我的想法是这样的

  • 1-tape 确定性机器需要 O(n^2) 来找到中点(通过重复删除输入中的第一个和最后一个符号)和 O(n^2) 来比较第一个和第二个一半(因为它必须来回 n/2 次,每次通过 n/2 字符串),

  • 2-tape TM 需要 O(n^2) 找到中点,O(n) 将后半部分复制到第二个磁带,然后 O(n) 同时比较两部分,

  • 而非确定者猜测中点并取 O(n^2) 来比较两半。

但是,我觉得这三种情况不应该都具有相同的 O(n^2) 时间复杂度,所以想知道我的推理是否在某个地方不正确(或者我是否正确并且只是在思考这个问题) .任何意见将不胜感激!

【问题讨论】:

    标签: big-o time-complexity turing-machines deterministic non-deterministic


    【解决方案1】:

    在使用磁带时,这个逻辑似乎是正确的。在磁盘或固态驱动器上,更适合以非线性方式访问数据的不同算法具有较低的 big-O。

    所以你对所有这些都是正确的。它们都是 O(n^2)。这是磁带在积极工作方面走上了恐龙之路的原因之一。对于备份,在某些地方仍然使用它们,但那是因为它们仍然只有 O(n) 用于线性存储。

    【讨论】:

      猜你喜欢
      • 2011-10-31
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      相关资源
      最近更新 更多