Search 搜索nxn矩阵

Search 搜索nxn矩阵,search,time,matrix,complexity-theory,Search,Time,Matrix,Complexity Theory,我只是想确认我的答案,看看是否有更快的方法 如果有一个已排序的nxn矩阵,那么搜索它的最佳方法是什么?它的复杂性是什么? -对行进行二进制搜索,然后对列进行二进制搜索。O(logN) 如果有一个包含已排序行和未排序列的nxn矩阵,那么搜索它的最佳方法是什么?它的复杂性是什么? -二进制搜索行,然后线性搜索列。O(N)。定义排序在矩阵上的含义,并定义要搜索的内容。或许再举个例子 更清楚地说,这是排序(1): 或者这是排序(2): 你说搜索是什么意思。您想在整个矩阵(a)中找到一个值,在每行(b)中

我只是想确认我的答案,看看是否有更快的方法

如果有一个已排序的nxn矩阵,那么搜索它的最佳方法是什么?它的复杂性是什么? -对行进行二进制搜索,然后对列进行二进制搜索。O(logN)

如果有一个包含已排序行和未排序列的nxn矩阵,那么搜索它的最佳方法是什么?它的复杂性是什么?
-二进制搜索行,然后线性搜索列。O(N)。

定义排序在矩阵上的含义,并定义要搜索的内容。或许再举个例子

更清楚地说,这是排序(1):

或者这是排序(2):

你说搜索是什么意思。您想在整个矩阵(a)中找到一个值,在每行(b)中找到一个值,还是在每行(c)中找到一个不同的值


对于(1)(a),它是n*log(n)(n次搜索,每行一次)

对于(2)(a),它是log(n)(将其视为一大行,因此log(n*n)=>log(n^2)=>2*log(n)=>log(n)


对于(1)(b),它是n*log(n)(n次搜索,每行一次)

对于(2)(b),它是log(n)


对于(1)(c),它是n*log(n)(n次搜索,每行一次)

对于(2)(c),它至少是n*log(n),但可能您可以对值进行排序,并使用预排序矩阵在log(n)或log(n)*log(n)中完成,这需要进一步分析



一切都没有证据,只是基于一些基本的想法。

只是好奇是否有人有线索。这是一个很难回答的问题吗?
1 6
4 5
1 4
5 6