希尔排序是由D.L.Shell于1959年提出的,所以称为希尔排序。希尔排序又称缩小增量排序,是插入排序的一种改进。
基本思想:希尔排序是基于插入排序的以下特点:待排序的序列元素数量越少排序速度越快;待排序序列的元素基本有序时排序速度越快;基于以上思想将待排序序列分为多个子序列分别进行插入排序,然后...
分类:
其他好文 时间:
2014-05-13 22:11:01
阅读次数:
272
必须先搞清楚机器学习中两个很重要的概念,一个是监督学习(Supervised
Learning)和无监督学习(Unsupervised Learning)。
这两者的区别就是前者知道了结果的正确值,后者没有这个指导值,也就是说你不知道所谓的正确结果。 wikipedia上这样描述: 监督学习从给定的...
分类:
其他好文 时间:
2014-05-13 21:59:39
阅读次数:
334
策略模式关于策略模式,我的理解:有若干个策略(算法),有一个管理策略的类,该类的输入为策略,输入为不同的策略(算法),输出为该种策略(算法)对应的类对象(的动态类型),然后程序员手动去使用该类对象(的动态类型)去调用相应虚函数,根据多态机制实现执行不同的操作。/*******************...
分类:
其他好文 时间:
2014-05-13 21:57:35
阅读次数:
427
二分查找的一点思考二分查找算法实现#define
LOCAL#include#include#includeint const MAX_N=21) { int mid=(ub+lb)/2;
if(a[mid]>=k) { ub=m...
分类:
其他好文 时间:
2014-05-13 21:53:37
阅读次数:
328
把这段时间的一些想法整理一下。 2014年4月27日 在学习Machine Learning
的过程中深深被她吸引了,多么神奇的东西啊!可以通过算法把二维的照片,还原出原来的三维,不过这种技术不成熟,但是我觉得这个思路很好。 2014年5月4日
计算机只能基于1或0,也就是二进制工作,但是人脑不是这...
分类:
其他好文 时间:
2014-05-13 21:47:24
阅读次数:
307
前面我们写了常见的几种排序算法,并分析了各种算法的实现思想,及时间复杂度等情况,但由于只是分析,木有实际的数据做对比测试,所以对各个算法的效率也没有一个明确的概念,下面我们就通过具体的测试来看看同算法之间的效率差距。声明11个长度为100的元素取值范围为0到1000的序列int
length = 1...
分类:
其他好文 时间:
2014-05-13 21:46:24
阅读次数:
323
桶排序是一种效率很高的排序算法,它的时间复杂度为O(n),但桶排序有一定的限制,只有当待排序序列的元素为0到某一确定取值范围的整数时才适用,典型的例子比如成绩的排序等。
算法思想: 设待排序序列的元素取值范围为0到m,则我们新建一个大小为m+1的临时数组并把初始值都设为0,遍历待排序序列,把待排序序...
分类:
其他好文 时间:
2014-05-13 21:23:40
阅读次数:
351
最近在做移动端的营销活动,其中包含刮刮卡、大转盘等小游戏,对于用户来说他们不关心Code只关心我是否中奖了,之前也在群里看到有人要概率的“算法”或者说是计算工具类。
ps:这里不得不提一下,每当自己在做什么东西的时候总会在一些地方发现相似的需求或者文章,来源有很多比如:cnblogs、QQ群等各种渠...
分类:
其他好文 时间:
2014-05-13 20:44:36
阅读次数:
408
顺序查找的时间复杂度是O(n),如果数组一开始是有序的,那么用顺序查找的效率是比较低的,因为二分查找等方式能够拥有更低的时间复杂度,但是如果一开始是无序的,那么顺序查找有可能比其他查找更加的快速。
二分查找主要是应用在有序的数组织中,采取的是一种分治的思想,先在数组中去中值,然后将中值...
分类:
其他好文 时间:
2014-05-13 20:27:07
阅读次数:
251
在操作系统中,当程序在运行过程中,若其所要访问的页面不再内存中而需要把他们调入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从内存调出一页程序或数据送磁盘的兑换区中。但哪一个页面调出,须根据一定的算法确定。通常,把选择换出页面的算法称为页面置换算法(Page-Replacement....
分类:
编程语言 时间:
2014-05-13 19:38:55
阅读次数:
691