Hope is a dangerous thing, but I have it.


  1. 【刷题小结】华为2016研发工程师编程题-删数

    我原来是没有打算把做过的题写成博客的,因为大部分还是基础题,而且我往往都是暴力求解,不太优雅。但是做了这道数独题对我还是很有启发的,虽然我仍然用的是暴力求解。做过的很多题有些有着很精巧的解法,但是往往随着时间过去也不太记得了。本地的很多cpp文件总是不能同步带走,而且很多做题的网站查看代码也不是很方便,所以就记录一下权当纪念了。 题目描述 有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:…

    刷题, C++, MathJax阅读全文

  2. 【基础方法】Harr 小波变换

    我在网上了解小波变换的时候,发现它是常用于信号处理的一种方法,但是在论文里也常看到小波变换用于图像处理。小波函数在一定的时间间隔内波形幅度的平均值为0。现在有很多小波函数,Haar小波变换函数是其中最基础的一种,是最简单的正交归一化小波 Harr 简介 我们先看一下Harr相关的函数图形: 由上图可以以得知Harr小波函数是一个支撑域(函数$\psi(t)$不为0的区间)在$[0,1]$内的单个矩形波,公式如下: $$\psi(t)=\begin{equation} \left \{…

    matlab, 机器学习, MathJax阅读全文

  3. 【基础方法】主成分分析(Principal Component Analysis)

    我们在做图像处理的时候,为了避免提取的特征维数太高使得计算速度变慢,可以用下面几种方法降低特征的维数: * 在一开始的时候对图片预处理,降低图片本身的维数。 * 在特征提取的过程中对特征进行处理,降低特征的的维数。(比如对LBP特征进行直方图统计,就有均衡模式的LBP这个方法来降低特征的维数) * 采用一些降维德方法。(比如我们要介绍的PCA) 数学理论   PCA降维的思想方法是找到一个投影矩阵,这个矩阵对应了一个维数更低的空间,样本经过和这个投影矩阵运算,可以变成维数更小的…

    机器学习, matlab, MathJax阅读全文

  4. 【基础方法】Trie Tree(字典树)

    之前有看到过这个概念,但是没有认真了解过,这次刷hihoCoder的题目看到了这个。   Trie Tree,也就是常说的字典树。它利用了空间换时间的思想,用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,提高查询效率。它是一种多叉树的结构,对它来说,每一个结点由值域和链域两部分组成,值域保存这个结点对应的字符数和以到这个结点的所有的字符组成的字符串为前缀的字符串个数,链域则是指向该结点后继的结点。树的形式极大地减少了比较的次数,便于查找。   对于一个结点来说,链域的存储方…

    C++, 算法阅读全文

  5. 【课程学习】逆矩阵

    逆矩阵也是我们在进行矩阵运算时很常用到的一个概念。 相关概念 * 奇异矩阵:该$n$阶方阵对应的行列式为0. * 非奇异矩阵:该$n$阶方阵对应的行列式不为0. * 伴随矩阵:将原矩阵中的所有元素换成该元素对应的代数余子式,并转置得到的矩阵,记为$A^* $。  注意,伴随矩阵有一条重要的性质:$AA^* =A^* A=|A|E$,由此可以推出:$A\frac{A^*}{|A|}=E$ 通过这个方法,我们可以用Matlab求得一个矩阵的伴随矩阵。 >> A=…

    matlab, 线性代数阅读全文

  6. 【课程学习】行列式

    讲真我也只是记得这个概念了,计算方法什么的都不太记得了,真是对不起我线性代数的老师。大概也是因为现在都是用的矩阵的运算,行列式接触的比较少吧。不过原来学习过的基础还在,复习起来还是很快的。 行列式的概念 二阶行列式   行列式是一种基本的数学工具,行列式理论是由求解n元线性方程组的实际需要建立、发展起来的。   行列式是有一个数值的,最简单的是二阶行列式,二阶行列式计算有一个很简单的公式: $$ \left|\begin{array}{cccc} a_{11} &    a…

    线性代数, matlab, MathJax阅读全文

  7. 【基础方法】K近邻分类器

    matlab, 机器学习, MathJax阅读全文

  8. 【课程学习】初等变换与初等矩阵

    matlab, 线性代数, MathJax阅读全文