首页/ 题库 / [问答题]若在矩阵A中存在一个元素ai,j(0≤i的答案

若在矩阵A中存在一个元素ai,j(0≤i≤n-1,0≤j≤m-1),该元素是第i行元素中最小值且又是第j列元素中最大值,则称此元素为该矩阵的一个马鞍点。假设以二维数组存储矩阵A,试设计一个求该矩阵所有马鞍点的算法,并分析最坏情况下的时间复杂度。

问答题
2022-10-01 02:34
查看答案

正确答案
在矩阵中逐行寻找该行中的最小值,然后对其所在的列寻找最大值,如果该列上的最大值与该行上的最小值相等,则说明该元素是鞍点,将它所在行号和列号输出。
具体算法如下:

分析算法,外层for循环共执行n次,内层第一个for循环执行m次,第二个for循环最坏情况下执行n
次,所以,最坏情况下的时间复杂度为O(mn+n2)。分析算法,外层for循环共执行n次,内层第一个for循环执行m次,第二个for循环最坏情况下执行n
次,所以,最坏情况下的时间复杂度为O(mn+n2)。

试题解析

标签: 大学试题 工学
感兴趣题目
有以下程序main(){ int n[3],i,j; for(i=0;i<3;i++) n[i]=0; for(i=0;i<2;i++) for(j=0;j<2;j++) n[j]=n[i]+1; printf( "%d\n",n[1]);}程序运行后的输出结果是A.2 B.1C.0 D.3
有以下程序 main() { int n[3],i,j; for(i=0;i<3;i++)n[i]=0; for(i=0;i<2,i++) for(j=0;j<2;j++)n[j]=n[i]+1; printf("%d ",n[1]); } 程序运行后的输出结果是( )
●设数组a[1..n,1.m](n>1,m>1)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤n,1≤j≤m)相对于数组空间首地址的偏移量为(14)。
设数组a[1..n,1..m](n>1,m>1)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1<=i<=n,1<=j<=m)相对于数组空间首地址的偏移量为(35)。
设数组a[0.n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i<n,0≤j<m)的存储位置相对于数组空间首地址的偏移量为 ( )。
● 设数组a[0..m,1..n]的每个元素占用1个存储单元,若元素按行存储,则数组元素a[i,j](0≤i≤m,1≤j≤n)相对于数组空间首地址的偏移量为 (32) 。(32)
设数组a[0..m,1..n]的每个元素占用1个存储单元,若元素按行存储,则数组元素a[i,j](0≤i≤m,1≤j≤n)相对于数组空间首地址的偏移量为( )。
设数组a[0..n-l,O..m-l] (n>l,m>l)中的元素以行为主序存放,每个元素占用1个 存储单元,则数组元素a[ij](0<i<n,0<j<m)的存储位置相对于数组空间首地址的偏移量为(35)。
已知有二维数组A[0..n-1][0..n-1],其中当i+j=n时,A[i][j]≠0,现在要将A数组压缩存储到一维数组T[0..m],其中m>n。数组T的第一个元素T[0]=A[1][n-1] T[1]=A[2][n-2],……,依次类推,那么放入A[i][j](i+j=n)的元素是(37)。
●已知有二维数组A[0..n-1][0..n-1],其中当i+j=n时,A[i][j]≠0,现在要将A数组压缩存储到一维数组T[0..m],其中m>n。数组T的第一个元素T[0]=A[1][n-1] T[1]=A[2][n-2],……,依次类推,那么放入A[i][j](i+j=n)的元素是 (37) 。
●已知有二维数组A[0..n-1][0..n-1],其中当i+j=n时,A[i][j]≠0,现在要将A数组压缩存储到一维数组T[0..m],其中m>n。数组T的第一个元素T[0]=A[1][n-1] T[1]=A[2][n-2],……,依次类推,那么放入A[i][j](i+j=n)的元素是 (37) 。
若在矩阵A中存在一个元素ai,j(0≤i≤n-1,0≤j≤m-1),该元素是第i行元素中最小值且又是第j列元素中最大值,则称此元素为该矩阵的一个马鞍点。假设以二维数组存储矩阵A,试设计一个求该矩阵所有马鞍点的算法,并分析最坏情况下的时间复杂度。
相关题目
下列程序段的时间复杂度是( )。 for(i=0;i<="" a[i][j]="0;" for(j="1;j<m;j++)">
下面程序段的时间复杂度是(9)。for(i=0,k=0;<n;1++){ k+=A[i][j]; for(j=1;j<m;j++) A[i][j]=1}
设二维数组a[0…m-1][0…n-1]按列优先顺序存储在首地址为LOC(a[0][0])的存储区域中,每个元素占d个单元,则a[i][j]的地址为()
有以下程序段: inti,j,m=0; for(i=1;i<;=15;i+=4) for(j一3;j<;=19;j+=4)m++; printf(‘‘%d\n‘‘,m); 程序段的输出结果是( )。
●设一个包含N 个顶点、E 条边的简单无向图采用邻接矩阵存储结构(矩阵元素 A[i][j]等于1/0 分别表示顶点i与顶点 j 之间有/无边),则该矩阵中的非零元素数目为 (60)。(60)
设一个包含N个顶点、E条边的简单有向图采用邻接矩阵存储结构(矩阵元素A[i][j]等于1/0分别表示顶点i与顶点j之间有/无弧),则该矩阵的元素数目为(60),其中非零元素数目为(61)。
设一个包含N个顶点、E条边的简单有向图采用邻接矩阵存储结构(矩阵元素A[i][j]等于1/0分别表示顶点i与顶点j之间有/无弧),则该矩阵的元素数目为(58),其中非零元素数目为(59)。
以下程序的输出结果是 ______。 Dim n(2,2), i, j As Integer For i = 0 To 2 For j = 0 To 2 n(i,j) = i + j Next j Next i For i = 0 To 1 For j = 0 To 1 n(i+ 1 ,j + 1) = n(i + 1,j + 1) + n(i, j) Next j Next i Print n(i, j)
设有如下所示的下三角矩阵A[0..8,0..8],将该三角矩阵的非零元素(即行下标不小于列下标的所有元素)按行优先压缩存储在数组M[1..m]中,则元素A[i,j](0≤i≤8,j≤i)存储在数组M的(58)中。
以下程序的输出结果是 ( ) main( ) { int n[3] [3],i,j; for (i=0;i<3;i+ +) for(j=0;i<3;++) n[i][j]=i+j; for(i=0;i<2;i++) for(j=0,j<2;j++) n[i+1][j+1]+=[i][j]; printf("%d ",n[1][j]); }
已知有一维数组A(0..m*n-1],若要对应为m行、n列的矩阵,则下面的对应关系(4)可将元素A[k](0≤k<m*n)表示成矩阵的第i行、第j列的元素(0≤i<m,0≤j<n)。
已知有一维数组A[0,…,m×n-1],若要对应为m行、n列的矩阵,则下面的对应关系(73)可将元素A[k](0≤k<m×n)表示成矩阵的第i行、第j列的元素(0≤i<m, 0≤j<n)。
已知有一维数组A[0...m*n-1],若要对应为m行、n列的矩阵,则下面的对应关系______可将元素A[k](0≤k<m*n)表示成矩阵的第i行、第j列的元素(0≤i<m,0≤j<n)。
给定一个m×n的数值矩阵A,如果矩阵A中存在这样的一个元素A[i][j]满足条件:A[i][j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。编写一个方法计算出m*n的矩阵A的所有马鞍点。
设矩阵A是一个n×n对称矩阵,即A[i,j]=A[j,i],为了节省存储空间,将其下三角部分按行序为主序存放在一维数D[1…n(n+1)/2]中,对任一下三角元素Aij(i≥j),在一维数组B的下标位置k的值是______。
设矩阵A是一个n×n对称矩阵.即A[i,j]=A[i,j],为了节省存储空间,将其下三角部分按行序为主序存放在一维数B[1...n(n+1)/2]中,对任一下三角元素aij(i≥j),在一维数组B的下标位置k的值是______。
设矩阵A是一个n*n对称矩阵.即A[i,j]=A[i,j],为了节省存储空间,将其下三角部分按行序为主序存放在一维数B[1...n(n+1)/2)中,对任一下三角元素aij(i>=j),在一维数组 B的下标位置k的值是( )。
设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素ai,j(i>=j),在一维数组B的下标位置k的值是()。
写出程序的运行结果。 #include main( ) { int i=0,j=0,k=0,m; for ( m=0;m<4;m++ ) switch ( m ) { case 0:i=m++; case 1:j=m++; case 2:k=m++; case 3:m++; } printf ("/n%d,%d,%d,%d",i,j,k,m); } 该程序的执行结果是()。
采用一维数组S存储一个n阶对称矩阵A的下三角部分(按行存放,包括主对角线),设元素A[i][j]存放在S[k]中(i、j、k均从1开始取值),且S[1]=A[1][1],则k与i、j的对应关系是(43)。例如,元素A[3][2]存在S[5]中。
广告位招租WX:84302438

免费的网站请分享给朋友吧