1.随机化输入在快速排序算法的使用中,发现其性能是不稳定的,它的速度取决于输入情况,最好的情况下复杂度为O(NlogN),最坏情况下为O(N^2).最简单的优化方法是随机化输入,打乱输入数组顺序,这样可以将不良输入带来低劣性能的可能性降到最低,对于预测算法的运行时间是十分重要的。考虑到,在c++中s...
分类:
其他好文 时间:
2014-09-29 12:18:30
阅读次数:
236
ID3算法是J. Ross Quinlan在1975提出的分类预测算法,当时还没有数据挖掘吧,哈哈哈。该算法的核心是“信息熵”,属于数学问题,我也是从这里起发现数据挖掘最底层最根本的不再是编程了,而是数学,编程只是一种实现方式而已,数学才是基础,如:朴素贝叶斯分类,小波聚类,尤其是我正在搞的支持向量...
分类:
其他好文 时间:
2014-08-31 11:46:11
阅读次数:
298
马尔科夫模型
马尔科夫模型是单重随机过程,是一个2元组:(S,A)。
其中S是状态集合,A是状态转移矩阵。
只用状态转移来描述随机过程。
马尔科夫模型的2个假设
有限历史性假设:t+l时刻系统状态的概率分布只与t时刻的状态有关,与t时刻以前的状态无关;
齐次性假设:从t时刻到t+l时刻的状态转移与t的值无关。
以天气模型为例
天气变化有3中状态S:{1(阴),2(云),...
分类:
其他好文 时间:
2014-08-27 11:01:47
阅读次数:
266
为什么要分析算法
分析算法可以预测算法的性能,比较算法之间的优劣,保证算法的正确性,理解算法的理论基础。
成功算法的例子
离散傅立叶变换,如果使用暴力方法,那么算法的复杂度是是N^2,如果使用FFT快速傅立叶变换可以实现O(N logN)复杂度
N-body模拟:使用Barnes-hut算法可以将复杂度降低到N logN
...
分类:
其他好文 时间:
2014-06-03 00:10:12
阅读次数:
364
基础练习 龟兔赛跑预测
时间限制:1.0s 内存限制:512.0MB
问题描述
话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌...
分类:
其他好文 时间:
2014-05-24 20:58:03
阅读次数:
313