11 2018 档案
摘要:线性方程 是稳定状态的问题,特征值在动态问题中有着巨大的重要性。 的解随着时间增长、衰减或者震荡,是不能通过消元来求解的。接下来,我们进入线性代数一个新的部分,基于 ,我们要讨论的所有矩阵都是方阵。 1. 特征值和特征向量 几乎所有的向量
阅读全文
摘要:1. 克拉默法则 这部分我们通过代数方法来求解 。 用 替换单位矩阵的第一列,然后再乘以 ,我们得到一个第一列为 的矩阵,而其余列则是从矩阵 中对应列直接拷贝过来的。 利用行列式的乘法法则,我们有 如果我们想要求 $x_
阅读全文
摘要:计算机通过主元来计算行列式,但还有另外两种方法,一种是大公式,由 项置换矩阵组成;另一种是代数余子式公式。 主元的乘积为 。 大公式有 项,但只有 5 个非零项。 $$det A = 16
阅读全文
摘要:vector 是一种顺序容器,可以看作是可以改变大小的数组。 就像数组一样,vector 占用连续的内存地址来存储元素,因此可以像数组一样用偏移量来随机访问,但是它的大小可以动态改变,容器会自动处理内存分配问题。 在内部,vector 使用动态分配的数组来存储元素,当新元素插入时,如果现有的存储空间
阅读全文
摘要:方阵的行列式是一个数字,这个数字包含了矩阵的大量信息。首先,它立即告诉了我们这个矩阵是否可逆。矩阵的行列式为零的话,矩阵就没有逆矩阵。当 可逆的时候,其逆矩阵 的行列式为 。 行列式可以用来求逆矩阵、计算主元和求解方程组,但是我们很少这样做,因为消元
阅读全文
摘要:这部分我们有两个目标。一是了解正交性是怎么让 、 、 的计算变得简单的,这种情况下, 将会是一个对角矩阵。二是学会怎么从原始向量中构建出正交向量。 1. 标准正交基 向量 是标准正交的,如果它们满足如下条件: $$q_i
阅读全文
摘要:1. 最小二乘 经常会没有解,当方程个数大于未知数个数,也即 时,列空间并不是 空间的全部,因此 可能不在列空间中,这时候方程组就无解,但我们不应该就此而停止。 也就是误差 并不总是能得到 0,这时候,如果误差 的长度尽可能
阅读全文
摘要:1. 标准化 标准化是为了让数据服从一个零均值和单位方差的标准正态分布。也即针对一个均值为 标准差为 的向量 中的每个值 ,有 。 默认针对每列来进行标准化,也即针对每个特征进行标准化。可以通过
阅读全文
摘要:高斯噪声是一个均值为 0 方差为 的正态分布,是一个加性噪声。但要正确地给图片添加高斯噪声,还要取决于程序中读入图片的数据格式。 如果图片的数据格式为 uint8,也即数据的范围为 [0, 255],那么直接生成对应方差的噪声,然后加到图片上去。 此处 np.random.
阅读全文
摘要:1. PSNR (Peak Signal to Noise Ratio) 峰值信噪比 给定一个大小为 的干净图像 和噪声图像 ,均方误差 定义为: $$MSE = \frac{1}{mn}\sum_{i=0}^{m 1}\sum_{j=0}^{n 1}[I(
阅读全文
摘要:根据是否联合利用超光谱图像的空间和光谱信息,高光谱图像去噪技术可以分为两类。第一类就是将传统 2 D 图像去噪的方法直接应用到超光谱图像的每个频带上去,称为逐带去噪。第二类就是联合利用空间和光谱信息来进行去噪,称为联合去噪,这又可以大致分为基于变换域的方法和基于空间域的方法。除此之外,由于深度理论的
阅读全文
摘要:1. 题目 2. 解答 2.1. 方法一 从矩阵的左下角开始比较 目标值等于当前元素,返回 true; 目标值大于当前元素,j 增 1,向右查找,排除掉此列上边的数据(都比当前元素更小); 目标值小于当前元素,i 减 1,向上查找,排除掉此行右边的数据(都比当前元素更大)。 2.2. 方法二 $$\
阅读全文
摘要:1. 题目 2. 解答 针对两棵树的根节点,有下列四种情况: p 和 q 都为空,两棵树相同; p 不为空 q 为空,两棵树不相同; p 为空 q 不为空,两棵树不相同; p 和 q 都不为空,如果两个节点的值相同,而且递归判断左右子树也相同的话,两棵树相同,反之两棵树不同。 获取更多精彩,请关注「
阅读全文
摘要:1. 投影 向量 在 轴上和在 平面上的投影是什么,哪个矩阵能产生到一条线上和到一个平面的投影? 当 被投影到 轴上时,它的投影 就是 沿着那条线的部分。当 被投影到一个平面时,它的投影就是 在平面中
阅读全文
摘要:1. 题目 2. 解答 以 构建二叉搜索树,其中,任意数字都可以作为根节点来构建二叉搜索树。当我们将某一个数字作为根节点后,其左边数据将构建为左子树,右边数据将构建为右子树。因此,这是一个递归问题。 假设序列为 ,若以第 个数据
阅读全文
摘要:1. 题目 2. 解答 以 构建二叉搜索树,其中,任意数字都可以作为根节点来构建二叉搜索树。当我们将某一个数字作为根节点后,其左边数据将构建为左子树,右边数据将构建为右子树。因此,这是一个递归问题。 若以第 个数据为根节点,其左边数据有 个,左
阅读全文
摘要:1. 题目 2. 解答 一棵高度平衡的二叉搜索树意味着根节点的左右子树包含相同数量的节点,也就是 根节点为有序数组的中值 。 因此,我们将数组的中值作为根节点,然后再递归分别得到左半部分数据转化的左子树和右半部分数据转化的右子树即可。 递归终止的条件是数组为空,这时候返回 NULL。 获取更多精彩,
阅读全文
摘要:1. 题目 2. 解答 如果根节点为空,直接返回 0。如果根节点非空,递归得到其左右子树的深度,树的深度就为左右子树深度的最大值加 1。 获取更多精彩,请关注「seniusen」!
阅读全文
摘要:1. 题目 2. 解答 如果根节点为空,直接返回 NULL。如果根节点非空,从根节点开始循环查找,直到节点为空。 如果待查找的值大于当前节点值,节点指向右孩子; 如果待查找的值小于当前节点值,节点指向左孩子; 如果待查找的值等于当前节点值,返回当前节点。 若循环结束还没有找到,返回 NULL。 获取
阅读全文
摘要:1. 四个基本子空间 行空间 ,一个 的子空间,由所有行的线性组合构成,维数为 列空间 ,一个 的子空间,由所有列的线性组合构成,维数为 零空间 ,一个 的子空间,由所有 的解的线性组合构成,维
阅读全文
摘要:1. 线性相关性 矩阵 的列是 线性不相关的 当且仅当 的唯一解是 。没有其它的线性组合能给出零向量。 在三维空间中,如果三个向量 不在同一个平面中,那它们就是不相关的,只有 $0v_1+0v
阅读全文
摘要:1. 矩阵的秩 和 给出了矩阵的大小,但却不是线性方程组的真正大小。因为,一个 的方程实际上是不算的。如果 中有完全相等的两行,或者第三行是第一行和第二行的线性组合,那么消元过程中就会出现全零的行。线性方程组的真正大小由 秩 来确定。 矩阵的秩是主元的个数,称为
阅读全文
摘要:1. 题目 2. 解答 与 "LeetCode 102 ——二叉树的层次遍历" 类似, 我们只需要将每一层的数据倒序输出即可 。 定义一个存放树中数据的向量 data,一个存放树的每一层数据的向量 level_data 和一个存放每一层节点的队列 node_queue。 如果根节点非空,根节点进队,
阅读全文
摘要:1. 题目 2. 解答 定义一个存放树中数据的向量 data,一个存放树的每一层数据的向量 level_data 和一个存放每一层节点的队列 node_queue。 如果根节点非空,根节点进队,然后循环以下过程直至队列为空: 1. 得到队列的大小,即为树中当前层的节点个数。队列元素循环出队,并将节点
阅读全文
摘要:1. 题目 2. 解答 2.1. 递归法 定义一个存放树中数据的向量 data,从根节点开始,如果节点不为空,那么 1. 递归得到其左子树的数据向量 temp,将 temp 合并到 data 中去 2. 递归得到其右子树的数据向量 temp,将 temp 合并到 data 中去 3. 将当前节点的数
阅读全文
摘要:1. 题目 2. 解答 2.1. 递归法 定义一个存放树中数据的向量 data,从根节点开始,如果节点不为空,那么 1. 将当前节点的数值加入到 data 中 2. 递归得到其左子树的数据向量 temp,将 temp 合并到 data 中去 3. 递归得到其右子树的数据向量 temp,将 temp
阅读全文
摘要:1. 题目 2. 解答 2.1. 递归法 定义一个存放树中数据的向量 data,从根节点开始,如果节点不为空,那么 1. 递归得到其左子树的数据向量 temp,将 temp 合并到 data 中去 2. 将当前节点的数值加入到 data 中 3. 递归得到其右子树的数据向量 temp,将 temp
阅读全文
摘要:1. 向量空间和子空间 向量空间 由所有的 维向量 组成,向量中的每个元素都是实数。 向量空间 可以用 平面来表示,其中的每个向量有两个元素,它们定义了平面上一个点的坐标。 在一个向量空间中,如果我们将
阅读全文
摘要:1. A = LU 之前在消元的过程中,我们看到可以将矩阵 变成一个上三角矩阵 , 的对角线上就是主元。下面我们将这个过程反过来,通一个下三角矩阵 我们可以从 得到 , 中的元素也就是乘数 。 如果有一个 3 3 的矩阵,假设不需要进
阅读全文
摘要:1. 消元的思想 针对下面的方程,我们无法直接得到方程的解。
阅读全文
摘要:1. 线性方程组的几何解释 线性代数的中心问题就是解决一个方程组,这些方程都是线性的,也就是未知数都是乘以一个数字的。 $$\begin{alignedat}{2} &x \space \space&2&y \space=\space 1 \\ 3&x\space+\space&2&y \space
阅读全文
摘要:1. 题目 2. 解答 用一个单链表来实现,只有一个头指针。因为不能建立哨兵结点,因此要特别注意是否在头结点处操作。 获取更多精彩,请关注「seniusen」!
阅读全文
摘要:1. 题目 2. 解答 我们需要先找到第 m 个结点及其上一个结点,然后将从 m 到 n 的结点进行反转,最后依次将 m 到 n 反转后的结点和 n 之后的结点放入原链表中即可。 从前往后依次遍历 m 1 次即可找到第 m 个结点,然后我们开始将第 m 到第 n 个结点倒序放入一个新链表,也即每次都
阅读全文
摘要:1. 题目 2. 解答 从前向后遍历链表,将结点值小于 x 的结点放入到新链表 1 中,将结点值大于等于 x 的结点放入新链表 2 中。最后,将新链表 2 拼接在新链表 1 后面即可。 获取更多精彩,请关注「seniusen」!
阅读全文
摘要:1. 题目 2. 解答 新建一个链表,并添加一个哨兵结点,从前向后开始遍历链表。 如果下一个结点的值和当前结点的值相等,则循环向后遍历直到找到一个和当前结点值不相等的结点; 反之,如果下一个结点的值和当前结点的值不相等,此值即为原始链表中没有重复出现的数字,将其加入到新链表中。 然后继续向后遍历。最
阅读全文
摘要:1. 题目 2. 解答 从前向后遍历链表,如果下一个结点的值和当前结点的值相同,则删除下一个结点,否则继续向后遍历。 获取更多精彩,请关注「seniusen」!
阅读全文
摘要:1. 题目 2. 解答 2.1. 方法一 将链表每个节点向右移动 1 个位置,其实就是让链表最后一个结点指向第一个结点。 因此,向右移动 k 个位置就重复上述过程 k 次即可。 然后,我们注意到,若链表有 n 个结点,则移动 n 次后就还是原链表。 实际上,若链表有 n 个结点,我们只需要移动 n
阅读全文
摘要:1. 题目 2. 解答 新建一个哨兵结点作为头结点,然后每次交换相邻两个结点。并依次将它们连接到新链表中去,再将原链表中后面的结点也串到新链表后面。直至到达链尾或者剩余一个节点,则此时返回新链表的头结点,也即是原始链表的第二个结点。 获取更多精彩,请关注「seniusen」!
阅读全文
摘要:1. 文件的概念 对于用户来说,常用到的文件有两大类:程序文件和数据文件。而根据文件中数据的组织方式,则可以将文件分为 ASCII 文件 和 二进制文件 。 ASCII 文件,又称字符文件或者文本文件,它的每一个字节放一个 ASCII 代码,代表一个字符。 二进制文件,又称内部格式文件或字节文件,是
阅读全文
摘要:1. 题目 2. 解答 2.1. 方法一 由于两个数组都是排好序的,因此首先可以想到的思路就是利用归并排序把两个数组合并成一个有序的长数组,然后直接取出中位数即可。 c class Solution { public: double findMedianSortedArrays(vector& nu
阅读全文
摘要:1. z 变换 单位脉冲响应为 的离散时间线性时不变系统对复指数输入 的响应 为 式中 是一个复常数,为 $$ \tag 2 H[z] =\sum_{n= \infty}^{+\inf
阅读全文
摘要:在一定条件下,一个连续时间信号完全可以用该信号在等时间间隔点上的值或 样本 来表示,并且可以用这些样本值把该信号全部恢复出来。 一般来讲,在没有任何附加条件或说明下,我们不能指望一个信号都能唯一地由一组等间隔的样本值来表征。例如,下图中三个不同的连续时间信号,在 的整数倍时刻点上,全部有相同
阅读全文
摘要:1. 离散时间傅里叶变换的导出 针对离散时间非周期序列,为了建立它的傅里叶变换表示,我们将采用与连续情况下完全类似的步骤进行。 考虑某一序列 ,它具有有限持续期;也就是说,对于某个整数 和 ,在 以外
阅读全文
摘要:1. 非周期信号的表示:连续时间傅里叶变换 为了对傅里叶变换的实质进行更深入的了解,我们先从一个连续时间周期方波的傅里叶级数表示着手。即,在一个周期内 $$x(t) = \begin{cases} 1, & \text |t|
阅读全文
摘要:1. 线性时不变系统对复指数信号的响应 在研究 (Linear and Time invariant System)系统时,将信号表示成基本信号的线性组合是很有利的,但这些基本信号应该具有以下两个性质: 由这些基本信号能够构成相当广泛的一类有用信号; 系统对每一个基本信号的响应
阅读全文