http://blog.sina.com.cn/s/blog_61bebe480100v7c7.html基本的C++算法分为三类:排序算法、树算法、图算法算法思想有三种:递推、分治、动态规划 以及 贪心算法。本文将简要介绍上面三类算法,介绍时穿插介绍算法思想。一、排序算法1、基本O(n^2)排序算法...
分类:
编程语言 时间:
2015-04-20 10:51:33
阅读次数:
201
这里是接着上一篇决策树算法介绍来的。
之前已经学习过决策树的整个方法,对它构造的过程有了比较清楚的认识。这一次的读书笔记就主要关注决策树的应用和用matplotlib来画出一棵决策树。
绘制决策树
matplotlib提供了一个注解工具annotations,跟matlab中的非常相似[不过个人认为matlab画图操作起来更加方便],他是一个很强大的工具。
首先我们先绘制决策树的一个节...
分类:
其他好文 时间:
2015-04-17 11:35:59
阅读次数:
256
介绍机器学习KNN算法,提供Matlab,Python实现以及实际应用例子...
分类:
编程语言 时间:
2015-04-14 14:41:04
阅读次数:
629
算法介绍
KD树的全称为k-Dimension Tree的简称,是一种分割K维空间的数据结构,主要应用于关键信息的搜索。为什么说是K维的呢,因为这时候的空间不仅仅是2维度的,他可能是3维,4维度的或者是更多。我们举个例子,如果是二维的空间,对于其中的空间进行分割的就是一条条的分割线,比如说下面这个样子。
如果是3维的呢,那么分割的媒介就是一个平面了,下面是3维空间的分割
这就...
分类:
其他好文 时间:
2015-04-11 09:01:02
阅读次数:
4534
本博客通过对当前比较成熟的聚类算法分析,介绍如何对非结构的数据(文档)做聚类算法;如何利用搜索引擎的相关知识来解决文本聚类问题等...
分类:
编程语言 时间:
2015-04-10 13:38:24
阅读次数:
279
算法介绍
Bloom Filter的中文名称叫做布隆过滤器,因为他最早的提出者叫做布隆(Bloom),因而而得此名。布隆过滤器简单的说就是为了检索一个元素是否存在于某个集合当中,以此实现数据的过滤。也许你会想,这还不简单,判断元素是否存在某集合中,遍历集合,一个个去比较不就能得出结果,当然这没有任何的问题,但是当你面对的是海量数据的时候,在空间和时间上的代价是非常恐怖的,显然需要更好的办法来...
分类:
编程语言 时间:
2015-04-07 09:58:58
阅读次数:
281
一:算法介绍期望最大化算法,跟k-means一样属于基于划分的聚类,其实EM算法跟k-means算法思想很相似,主要步骤:期望步(E-步):给定当前的簇中心,每个对象都被指派到簇中心离该对象最近的簇。就是期望每个对象都属于最近的簇。最大化步(M-步):给定簇指派,对应每个簇,算法调整期中心,使得指派...
分类:
编程语言 时间:
2015-03-12 22:09:19
阅读次数:
196
算法介绍桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(O(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。算法步骤如下:...
分类:
编程语言 时间:
2015-03-01 15:47:24
阅读次数:
208
Paxos算法是为了实现分布式环境中为保证数据的一致性而设计的,在一个分布式系统中,通过投票的方式来确定一个值(决议)。只不过这个步骤分为两步:准备阶段(prepare)和批准阶段(accept)。同时又分为若干角色,以下都可以兼任。proposer 信使acceptor 决策者learner 学习者(学习最终决策)准备阶段:一个proposer向多个acceptor发出提案,每个提案有一个数字编...
分类:
编程语言 时间:
2015-02-28 01:37:41
阅读次数:
156
介绍
LZW算法是非常常见的一种压缩算法,他的压缩原理是对于多次重复出现的字符串,进行压缩,至于怎么压缩,在后文中会细细描述,LZW算法可以用在很多的场合,诸如图像压缩,文本压缩等等,而且算法简单易懂,并不是人们想象中的那么深奥。
算法原理
在介绍算法原理之前,得先明白几个概念:
1、Prefix,在这里代表前缀字符的意思。
2、Suffix,对应的意思是后缀字符的意思。
为什么提到这...
分类:
编程语言 时间:
2015-02-27 21:41:07
阅读次数:
272