`
kmplayer
  • 浏览: 512618 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

是否存在i,使得n*n矩阵的i行都是1,i列都是0(交点除外)

阅读更多
要求:复杂度为O(n)

问题分析:如果存在i,那么i有且仅有一个.
算法:
(1)寻找这个可能存在的i.
从a[1][1]出发,判断当前元素是否为0.
如果不是
向右前进,直到越界,此时1就是唯一可能存在的解.
如果a[1][k]==0
从a[k][k]出发,判断当前元素是否为1.
如果不是
向下前进,直到越界,此时k就是唯一可能存在的解.
如果a[k][m]==1

从a[m][m]向右哦出发,重复上述步骤,直到越界.
复杂度O(n).

(2)验证
验证i行和i列的共2n-1个元素是否满足条件.
复杂度O(2n)

总的复杂度O(3n)

算法2:
这个问题可以换个角度理解,可以图来表示.
矩阵直接看作邻接举证.
对于非1,的数据都把他看成是0(即不相连).(题目没有说有没有,除1,0外的数据)
问题可以转化为:
在无环有向图中,找一个顶点,其出度问 n-1,入度为0.
一次判断2个顶点,A,B ,
(1)若A到B,且B不到A,删除A,B,保留A;同理,反过来,保留B
(2)若A,B有边连接,删除A,B
(3)若A,B互不连接,删除A,B
分享到:
评论

相关推荐

    矩阵理论 matrix theory

    - **定义**: 线性方程是数学中的一个基本概念,通常形式为\(a_1x_1 + a_2x_2 + \ldots + a_nx_n = b\),其中\(a_i\)是系数,\(x_i\)是未知数,\(b\)是常数。 - **应用**: 在物理、工程、计算机科学等多个领域都有...

    MATLAB源码集锦-有向图关联矩阵和邻接矩阵的相互转换算法代码

    通常,我们需要遍历关联矩阵,对于每一条边(i, j),如果M[i,j]=1,那么在邻接矩阵A中设置A[i,j]=1(有向图中,A[j,i]通常保持为0,除非有自环)。如果有边的权重,将权重值赋给A[i,j]。 - **邻接矩阵转关联矩阵*...

    2017哈工大严质斌矩阵分析试题

    具体来说,如果一个向量空间 \(V\) 的基为 \(\{v_1, v_2, \ldots, v_n\}\),那么对于 \(V\) 中的任意向量 \(v\),都存在唯一的一组数 \(\alpha_1, \alpha_2, \ldots, \alpha_n\) 使得 \(v = \alpha_1v_1 + \alpha_2v...

    考博考研矩阵_QR公式简证法

    - **形式**:假设有一个m×n的矩阵A(列满秩),那么可以将其分解为\( A = QR \),其中Q是一个m×n的矩阵,并且\( Q^TQ = I \)(即Q的列向量组构成一组标准正交基),而R是一个n×n的上三角矩阵。 #### 知识点二:...

    4*4矩阵键盘电路设计

    在4*4矩阵键盘中,16个按键分别位于4行4列的交点上,每个按键都有一个唯一的行值和列值组合,用于识别哪个按键被按下。 ### 需求分析 1. **功能描述**: - 行线(如P1.0~P1.3)作为输出线,用于发送扫描信号。 - ...

    有向图关联矩阵和邻接矩阵的相互转换算法代码.zip

    如果存在一条从顶点i到顶点j的边,那么矩阵中第i行第j列的元素为1,否则为0。邻接矩阵可以直观地反映出图的连通性,但存储空间需求较大,不适合表示稀疏图(边的数量远小于顶点数量的平方)。 3. **相互转换算法**...

    用C实现的求矩阵的逆的程序

    一个n×n的方阵A,如果存在一个n×n的方阵B,使得AB=BA=单位矩阵I,那么B就称为A的逆矩阵,记作A⁻¹。如果矩阵A没有逆,我们称它为奇异矩阵。 在C语言中,我们通常使用二维数组来表示矩阵。下面是一个基本的步骤,...

    RE_矩阵1

    为了检查一个矩阵是否是托普利茨矩阵,我们需要遍历前n-1行和m-1列,验证每个元素m[i][j]是否等于m[i+1][j+1]。 总结来说,这些题目涉及了矩阵操作的各种经典算法,包括旋转、螺旋填充、原地修改、搜索和有序矩阵的...

    高斯消元(非常详细) 高斯消元(非常详细)

    1. 每一个非零行都在每一个零行之上。 2. 某一行的主元(这一行中最左边的非零元素)所在的列在上一行主元的右边。 3. 某一行的主元所在的列下方元素都是 \(0\)。 **简化行阶梯型矩阵**进一步要求: 1. 每一非零行...

    C 代码 执行整数行梯队形式的精确计算 (IREF) 和整数的整数缩减行梯队形式 (IRREF) 矩阵.rar

    1. **非零行**:矩阵的上部(顶部)有若干非零行,下方的行都是全零。 2. **主元**:每一非零行的第一个非零元素称为主元,且主元下方的元素都为零。 3. **主元列**:主元所在的列被称为主元列,其他列称为自由列。 ...

    两个Toeplitz矩阵相乘的一种快速算法

    1. **构造\( K_1 \)**: 构造一个\( 2n \times 2n \)阶的下三角Toeplitz矩阵\( K_1 \),其第一列为\( (0, t_{1,1}, t_{1,2}, \ldots, t_{1,n}, t_{1,1}, t_{1,2}, \ldots, t_{1,n-1})^T \),第一行为2n维零向量。...

    蛇形矩阵(用二元数组实现)

    - 初始化两个变量,一个表示当前行(`curRow`),一个表示当前列(`curCol`),都设置为0。 - 使用一个计数器(`counter`)跟踪已填充的元素数量,初始值设为1。 - 当计数器小于等于矩阵的总元素数量时,进行以下...

    Introduction to the Design and Analysis of Algorithms

    1. **算法基础**:首先,它定义了算法的基本概念,解释了算法的重要性以及如何通过伪代码或编程语言来表述算法。书中强调了算法效率的衡量标准,如时间复杂度和空间复杂度。 2. **排序与搜索**:讨论了各种排序算法...

    使用增广矩阵求解Ax=B

    例如,通过行变换(行交换、行倍乘、行加法),可以将增广矩阵化为行简化阶梯形矩阵,进而找到线性方程组的解。 在`matrix.c`这个源文件中,很可能包含了实现这些操作的C语言代码。可能包括以下步骤: 1. **读取...

    数据结构作业打印071

    - 最多有3n-2个非零元素的情况发生在第一行、最后一行和第一列都没有0的情况下。 - 压缩表示法是根据矩阵的特殊结构设计的,例如当i==1或j==1时,对应的元素值直接从一维数组中获取。 3. **反对角矩阵**: - ...

    关联矩阵和邻接矩阵的相互转化.zip

    如果节点i与节点j之间存在边,那么在矩阵的第i行第j列或者第j行第i列(取决于矩阵是否是对称的)的值为1;反之,如果不存在边,则该位置的值为0。关联矩阵适用于表示有向或无向图,并且可以方便地处理带权重的边。 ...

    STM32F1的矩阵键盘程序

    矩阵键盘的布局通常是行和列的交叉,每个按键对应一个行线和一个列线的交点。通过扫描行线和列线的状态变化,可以识别出被按下的键。下面我们将详细讨论实现矩阵键盘程序的关键步骤和注意事项: 1. **硬件连接**:...

    矩阵最简形1

    3. **零行**:在非零行之下可能存在零行,即所有元素都为零的行。 4. **唯一性**:尽管行初等变换不唯一,但任何矩阵的RREF是唯一的,因为它只依赖于矩阵的行列式值,而与行变换的顺序无关。 标准形(Canonical ...

    4-1.ppt

    - **定义**:如果存在不全为零的标量 \(c_1, c_2, ..., c_n\),使得 \(c_1\boldsymbol{a}_1 + c_2\boldsymbol{a}_2 + ... + c_n\boldsymbol{a}_n = 0\),则称向量组 \(A = \{\boldsymbol{a}_1, \boldsymbol{a}_2, ....

    中文翻译Introduction to Linear Algebra, 5th Edition 6.4节

    3. **对角化**:每个实对称矩阵都可以对角化,即存在一个正交矩阵 \( Q \),使得 \( S = Q \Lambda Q^{-1} \),其中 \( \Lambda \) 是对角矩阵,对角线上的元素是 \( S \) 的特征值。这个对角化过程称为谱分解或谱...

Global site tag (gtag.js) - Google Analytics