嗨,这两个时间复杂度哪个更好。
O(n log m)
和O(n + m)
哪一个更适合在大规模使用时分析这两种算法?
例如) 如果 n 和 m 指数级增长,则变为
O(2e)
与O(e*(something linear to e))
示例问题:2个数组中的公共元素:
1)双指针法
2)使用二分查找
嗨,这两个时间复杂度哪个更好。
O(n log m)
和O(n + m)
哪一个更适合在大规模使用时分析这两种算法?
例如) 如果 n 和 m 指数级增长,则变为
O(2e)
与O(e*(something linear to e))
示例问题:2个数组中的公共元素:
1)双指针法
2)使用二分查找
m=1000000
,而log(n)=7
(约)。n=100
,而log(m)=20
(约)。(m + n) < (n log m)
,因为二分查找涉及一些开销,而双指针方法则没有。即使在 (m + n)
倍于 (n log m)
的情况下,双指针方法很可能仍然更快。