【问题标题】:How thread can be used to improve time complexity of a code?如何使用线程来提高代码的时间复杂度?
【发布时间】:2015-06-19 23:16:33
【问题描述】:

据我所知线程只能减少执行时间,并不能降低时间复杂度。

如果我错了,请纠正我。

假设我们有一个双向链表,我们可以使用线程来提高从随机节点搜索元素的时间复杂度吗? 通过简单的搜索,我们在随机节点旁边遍历直到列表末尾,并且在随机节点的前一个节点直到第一个节点,我们可以使用线程改进这一点,我们可以使用线程在少于 O(n) 的时间内完成吗?

【问题讨论】:

  • "thread" 是单数。您总是使用至少一个线程。无论您是否可以减少使用任意数量的线程搜索链表的时间,通过思考问题比阅读答案获得的知识要多一百倍。

标签: c multithreading data-structures pthreads doubly-linked-list


【解决方案1】:

没有。例如,使用另一个线程将使其速度提高一倍(如果实现完美),但 O(n) 的 1/2 仍然是 O(n)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多