【问题标题】:Overall complexity with multiple operations?多个操作的总体复杂性?
【发布时间】:2016-12-15 13:43:59
【问题描述】:

如果我有一个未排序的数组,并且如果我首先使用运行时间为 O(nlgn) 的快速排序对其进行排序,然后使用运行时间为 O(lgn) 的二进制搜索来搜索元素,那么会发生什么?是这两个操作的总运行时间吗?是否会添加单独的运行时间?

【问题讨论】:

    标签: arrays sorting search data-structures time-complexity


    【解决方案1】:

    这将是 O(n logn) 因为 O(n logn + logn) = O(n logn) 所以是的,你总结一下,但在这种情况下它并不重要

    如果函数f可以写成其他函数的有限和,那么增长最快的那个决定了f(n)的阶 Wikipedia

    【讨论】:

    • 你的意思是没关系吗?
    • 因为 O(n logn) > O(logn) 增长定义为 O(n logn),请参阅上面帖子中的引文和链接
    • 哦,好的,知道了!谢谢:)
    • 更合理的复杂度是在排序后执行 k 次二进制搜索,在这种情况下你会得到 O((n+k) log(n))。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    相关资源
    最近更新 更多