GS, XDJM们,
想请问的问题是:我有两个2D数组,想在里面找出一个数字,它不是只有一个的。一个是每行的数字为递增,而每列的数字没有任何顺序,那么我写的算法是:
for{ binary search(每行的数字)} 时间复杂度是: n*log2nanother: 行,列的数字都是已经按递增的顺序排列好,那么我想同时都BINARY SEARCH行和列的数字, 时间复杂为 log2n*log2n我应该怎么写呢? 另外,请给点指点,关于时间复杂度有错误吗?
想请问的问题是:我有两个2D数组,想在里面找出一个数字,它不是只有一个的。一个是每行的数字为递增,而每列的数字没有任何顺序,那么我写的算法是:
for{ binary search(每行的数字)} 时间复杂度是: n*log2nanother: 行,列的数字都是已经按递增的顺序排列好,那么我想同时都BINARY SEARCH行和列的数字, 时间复杂为 log2n*log2n我应该怎么写呢? 另外,请给点指点,关于时间复杂度有错误吗?
这一个时间复杂度应该是n*log2n,第二个可以在二维上二分法确定范围如每次比较a[(length1-1)/2][(length2-1)/2]
时间复杂度,应该是log2n2=2*log2n