为什么要分析算法分析算法能够预測算法的性能,比較算法之间的优劣,保证算法的正确性,理解算法的理论基础。成功算法的样例离散傅立叶变换,假设使用暴力方法,那么算法的复杂度是是N^2,假设使用FFT高速傅立叶变换能够实现O(N logN)复杂度N-body模拟:使用Barnes-hut算法能够将复杂度减少...
分类:
其他好文 时间:
2014-07-22 23:27:47
阅读次数:
337
在处理复数域信号时,离散傅立叶变换能够把它转换至频域,然而在实际中,大部分的信号都是处理实域信号,这样在离散傅立叶变换之后,由于其对称性,导致一半的冗余数据。在时域,信号的虚部为全0。在频域,其实部和虚部分别具有偶对称以及奇对称性。相比而言,离散余弦变换是针对时域信号的处理方法,它能够避免数据的冗余。另外,由于离散余弦变换是从离散傅立叶变换继承而来,它保留了一些离散傅立叶变换的优点。...
分类:
其他好文 时间:
2014-06-10 15:58:41
阅读次数:
354
分治算法
一、基本概念
在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……
任何一个可以用计算机求解的...
分类:
其他好文 时间:
2014-06-04 14:10:55
阅读次数:
344
为什么要分析算法
分析算法可以预测算法的性能,比较算法之间的优劣,保证算法的正确性,理解算法的理论基础。
成功算法的例子
离散傅立叶变换,如果使用暴力方法,那么算法的复杂度是是N^2,如果使用FFT快速傅立叶变换可以实现O(N logN)复杂度
N-body模拟:使用Barnes-hut算法可以将复杂度降低到N logN
...
分类:
其他好文 时间:
2014-06-03 00:10:12
阅读次数:
364
大家一定见过下面这种声音的波形图吧。
大家也一定见过播放音乐时跳动的条形图吧,它将声音分成多个频段,可以显示每个频段的音量。
下面这种频谱图和上图也是类似,颜色亮的地方表示某个频率的音量大。亮点越高表示声音的频率越大,听起来越感觉尖锐。
波形图转换成频谱图的过程中就用到了傅立叶变换。
简...
分类:
其他好文 时间:
2014-06-02 23:19:26
阅读次数:
319
傅立叶是一位法国数学家和物理学家的名字,英语原名是Jean Baptiste Joseph
Fourier(1768-1830),
Fourier对热传递很感兴趣,于1807年在法国科学学会上发表了一篇论文,运用正弦曲线来描述温度分布,论文里有个在当时具有争议性的决断:任何连续周期信号可以由一组适当...
分类:
其他好文 时间:
2014-05-19 20:53:52
阅读次数:
403
卡尔曼滤波的原理说明在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人!卡尔曼全名Rudolf
Emil Kalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年...
分类:
其他好文 时间:
2014-05-09 11:30:42
阅读次数:
365