taoCMS是基于php+sqlite/mysql的国内最小(100Kb左右)的功能完善的CMS管理系统

算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)

0、写在前面的话      我个人一直很喜欢算法一类的东西,在我看来算法是人类智慧的精华,其中蕴含着无与伦比的美感。而每次将学过的算法应用到实际中,并解决了实际问题后,那种快感更是我在其它地方体会不到的。      一直想写关于算法的博文,也曾写过零散的两篇,但也许是相比于工程性文章来说太小众,并没有引起大家的兴趣。最近面临毕业找工作,为了能给自己增加筹码,决定再次复习算法方面的知识,我决定趁这个机会,写一系列关于算法的文章。这样做,主要是为了加强自己复习的效果,我想,如果能将复习的东西用自己的理解写成文章,势必比单纯的读书做题掌握的更牢固,也更能触发自己的思考。如果能有感兴趣的朋友从中有所收获,那自然更好。&n
发布时间:2017-08-16 | 类别:未分组 | 阅读:6498 | 评论:0 | 标签:算法 算法

详细解释数据挖掘中的 10 大算法

在一份调查问卷中,三个独立专家小组投票选出的十大最有影响力的数据挖掘算法,今天我打算用简单的语言来解释一下。一旦你知道了这些算法是什么、怎么工作、能做什么、在哪里能找到,我希望你能把这篇博文当做一个跳板,学习更多的数据挖掘知识。还等什么?这就开始吧!1.C4.5算法C4.5是做什么的?C4.5 以决策树的形式构建了一个分类器。为了做到这一点,需要给定 C4.5 表达内容已分类的数据集合。等下,什么是分类器呢? 分类器是进行数据挖掘的一个工具,它处理大量需要进行分类的数据,并尝试预测新数据所属的类别。举个例子吧,假定一个包含很多病人信息的数据集。我们知道每个病人的各种信息,比如年龄、脉搏、血压、最大摄氧量、家族病史等。这些叫做数据属性。现在:给定这些属性,我们想预测下病人是否会患癌症。病人可能会进入下面两个分类:
发布时间:2015-09-05 | 类别:未分组 | 阅读:29417 | 评论:0 | 标签:算法

红黑树,PHP实现的红黑树

红黑树是算法导论中最复杂的算法之一.实际上虽然需要处理的情况很多,但处理的过程和步骤都是固定的,是一些早已被验证的方法,所以尽管看起来有些复杂,实际处理的时候按照单个case来观察的话则很简单.下面的php代码是按照算法导论中的描述写的.<?php class RBTree {     public $root;     public $nil;//哨兵          public function __construct()     {
发布时间:2015-02-12 | 类别:未分组 | 阅读:54116 | 评论:0 | 标签:算法 算法

理解Vector Clock算法

解决数据版本问题  这里我们需要讨论一下数据版本问题,这个问题不仅仅存在于分布式系统,只是分布式系统的一些要求使得这个问题更复杂。先看个简单的例子,用户x对key1做了一次写入操作,我们设值是数字3。然后用户y读取了key1,这个时候用户y知道的值是3。然后用户x对值做了一个+1操作,将新值写入,现在key1的值是4了。而用户y也做了一次+1操作,然后写入,因为用户y读到的值是3,y不知道这个值现在已经变化了,结果按照语义本应该是5的值,现在还是4。  解决这个问题常用的方法是设置一个版本值。用户x第一次写入key1 值3的时候,产生一个版本设为v1。用户y读取的信息中包括版本编号v1。当x做了加1把值4写入的时候,告诉server自己拿到的是版本v1,要在v1的基础上把值改成4。server发现自己保存的版本
发布时间:2014-03-14 | 类别:技术文章 | 阅读:47985 | 评论:0 | 标签:算法 算法

MySQL索引背后的数据结构及算法原理

来源:张洋摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。第二部分结合MySQL数据库中MyISAM和InnoDB数据存储引擎中索引的架构实现讨论聚集索引、非聚集索引及覆盖索引等话题。第三部分根据上面的理论基础,讨论MySQL中高性能使用索引的策略。数据结构及算法基础索引的本质MySQL官方对索引的定义为:索
发布时间:2013-08-18 | 类别:技术文章 | 阅读:35931 | 评论:0 | 标签:算法 算法

红黑树(red-black tree)算法,附AVL树的比较

导读:   linux内核中的用户态地址空间管理使用了红黑树(red-black tree)这种数据结构,我想一定有许多人在这种数据结构上感到困惑,我也曾经为此查阅了许多资料以便了解红黑树的原理。最近我在一个外国网站上看到一篇 讲解红黑树的文章,觉得相当不错,不敢独享,于是翻译成中文供所有内核版的弟兄们参考。由于本人水平有限,难免有出错之处,欢迎大家指正。   原文网址:http://sage.mc.yu.edu/kbeen/teaching/algorithms/resources/red-black-tree.html      加两个链结地址:   红黑树的实地使用     http://www.linuxforum.net/forum/show
发布时间:2013-07-29 | 类别:技术文章 | 阅读:48517 | 评论:0 | 标签:算法 算法 算法

计算机科学中最重要的32个算法

奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出路径。其中使用了一种启发式的估算,为每个节点估算通过该节点的最佳路径,并以之为各个地点排定次序。算法以得到的次序访问这些节点。因此,A*搜索算法是最佳优先搜索的范例。集束搜索(又名定向搜索,Beam Search)——最佳优先搜索算法的优化。使用启发式函数评估它检查的每个节点的能力。不过,集束搜索只能在每个深度中发现最前面的m个最
发布时间:2013-07-22 | 类别:技术文章 | 阅读:37133 | 评论:0 | 标签:算法

布隆过滤器 (Bloom Filter) 详解

布隆过滤器 (Bloom Filter)是由Burton Howard Bloom于1970年提出,它是一种space efficient的概率型数据结构,用于判断一个元素是否在集合中。在垃圾邮件过滤的黑白名单方法、爬虫(Crawler)的网址判重模块中等等经常被用到。哈希表也能用于判断元素是否在集合中,但是布隆过滤器只需要哈希表的1/8或1/4的空间复杂度就能完成同样的问题。布隆过滤器可以插入元素,但不可以删除已有元素。其中的元素越多,false positive rate(误报率)越大,但是false negative (漏报)是不可能的。 本文将详解布隆过滤器的相关算法和参数设计,在此之前希望大家可以先通过谷歌黑板报的数学之美系列二十一 - 布隆过滤器(Bloom Filter)来得到些基础知识
发布时间:2013-04-21 | 类别:技术文章 | 阅读:66788 | 评论:0 | 标签:算法 算法

使用并行计算大幅提升递归算法效率

前言:无论什么样的并行计算方式,其终极目的都是为了有效利用多机多核的计算能力,并能灵活满足各种需求。相对于传统基于单机编写的运行程序,如果使用该方式改写为多机并行程序,能够充分利用多机多核cpu的资源,使得运行效率得到大幅度提升,那么这是一个好的靠谱的并行计算方式,反之,又难使用又难直接看出并行计算优势,还要耗费大量学习成本,那就不是一个好的方式。由于并行计算在互联网应用的业务场景都比较复杂,如海量数据商品搜索、广告点击算法、用户行为挖掘,关联推荐模型等等,如果以真实场景举例,初学者很容易被业务本身的复杂度绕晕了头。因此,我们需要一个通俗易懂的例子来直接看到并行计算的优势。数字排列组合是个经典的算法问题,它很通俗易懂,适合不懂业务的人学习,我们通过它来发现和运用并行计算的优势,可以得到一个很直观的体会,并留下深
发布时间:2013-02-18 | 类别:技术文章 | 阅读:49827 | 评论:0 | 标签:算法 算法

常见算法时间复杂度

常见算法时间复杂度:O(1): 表示算法的运行时间为常量O(n): 表示该算法是线性算法O(㏒2 n): 二分查找算法O(n2 ): 对数组进行排序的各种简单算法,例如直接插入排序的算法。O(n3 ): 做两个n阶矩阵的乘法运算O(2n ): 求具有n个元素集合的所有子集的算法O(n!): 求具有N个元素的全排列的算法优<---------------------------<劣O(1)<O(㏒2 n)< O(n)< O(n2 )< O(2n )时间复杂度按数量级递增排列依次为:常数阶O(1)、对数阶O(lo
发布时间:2013-02-17 | 类别:技术文章 | 阅读:46943 | 评论:0 | 标签:算法 算法

公告

taoCMS发布taoCMS2.5Beta5(最后更新14年05月25日),请大家速速升级,欢迎大家试用和提出您宝贵的意见建议。

捐助与联系

☟请使用新浪微博联系我☟

☟在github上follow我☟

标签云