Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 读取和乘法排序矩阵_Algorithm_Sorting_Matrix - Fatal编程技术网

Algorithm 读取和乘法排序矩阵

Algorithm 读取和乘法排序矩阵,algorithm,sorting,matrix,Algorithm,Sorting,Matrix,我有一个关于两个大小为NxN的排序矩阵的一些运算的问题。 也就是说,矩阵的排序方式是每一行和每一列按升序排序。我的任务是首先读取两个矩阵,然后将它们相乘,这将生成另一个排序的平方矩阵。在这个结果矩阵中,我必须搜索一个元素,但问题是时间复杂度限制是O(n^2(lgn)),而典型的乘法算法是O(n^3) 如何查找同时动态计算正确值的元素?有人能帮我解决这个问题吗?我已经挣扎了一个星期左右,我仍然没有看到一个好的解决办法 我真的很感激你的任何帮助 致以最良好的祝愿 在排序矩阵中搜索元素可以在O(N)时

我有一个关于两个大小为NxN的排序矩阵的一些运算的问题。 也就是说,矩阵的排序方式是每一行和每一列按升序排序。我的任务是首先读取两个矩阵,然后将它们相乘,这将生成另一个排序的平方矩阵。在这个结果矩阵中,我必须搜索一个元素,但问题是时间复杂度限制是
O(n^2(lgn))
,而典型的乘法算法是
O(n^3)

如何查找同时动态计算正确值的元素?有人能帮我解决这个问题吗?我已经挣扎了一个星期左右,我仍然没有看到一个好的解决办法

我真的很感激你的任何帮助


致以最良好的祝愿

在排序矩阵中搜索元素可以在
O(N)
时间内完成

1. Start from lower left corner of the matrix A[N-1][0] (i = N-1, j = 0).  
2. If element is > A[i][j], go right (increment j).  
3. If element is < A[i][j], go above (decrement i).  
4. If element is == A[i][j], Stop with success.  
5. If i < 0 or j == N, Stop with failure.
1。从矩阵A[N-1][0](i=N-1,j=0)的左下角开始。
2.如果元素大于A[i][j],则向右移动(增量j)。
3.如果元素
现在,您需要在一个矩阵中搜索一个元素,该矩阵是两个排序矩阵的乘积

在我看来,它可以在
O(N^2)
时间内完成


只需应用上述搜索算法,快速计算矩阵元素。计算每个元素需要
O(N)
时间,因为要将一行乘以一列。因此,算法的总体复杂度应为
O(N^2)

谢谢您的回复!但是,我担心如果某些值出现多次,可能会忽略某些值。但我会努力实现它。:)谢谢你@vladimir1923你能举一个算法不起作用的例子吗?