【发布时间】:2010-06-15 08:33:09
【问题描述】:
我前几天看到过这样的问题
there is given two array find elements which are common of these array
其中一个解决方案是对大数组进行排序,然后使用二进制搜索算法
还有另一种算法——蛮力算法
for (int i=0;i<array1.length;i++){
for (int j=0;j<array2.length;j++){
if (array1[i]==array2[j]){
//code here
}
}
它的复杂度是 O(array1.lengtharray2.length); 我很感兴趣第一种方法的复杂性也一样吗? 因为我们应该先排序数组然后使用搜索方法 二分查找算法的复杂度是 log_2(n) 所以这意味着总时间将是 array.lengthlog_2(n) 和关于排序? 请解释一下哪个更好
【问题讨论】:
标签: algorithm