算法
文章平均质量分 65
bb0905010427
这个作者很懒,什么都没留下…
展开
-
字符串匹配
本文主要介绍KMP算法和BM算法,它们分别是前缀匹配和后缀匹配的经典算法。所谓前缀匹配是指:模式串和母串的比较从左到右,模式串的移动也是从左到右;所谓后缀匹配是指:模式串和母串的的比较从右到左,模式串的移动从左到右。看得出来前缀匹配和后缀匹配的区别就仅仅在于比较的顺序不同。下文分别从最简单的前缀蛮力匹配算法和后缀蛮力匹配算法入手,详细的介绍KMP算法和BM算法以及它们的实现。 KMP算法转载 2013-03-13 21:56:11 · 486 阅读 · 0 评论 -
谷歌面试题:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数
给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。我的想法:编写一个生成0和1的随机函数: rand_01()step1. 调用给定的随机函数original_rand()生成一个数 如果==3 goto step1 如果如果>3 return 1 编写一个生成1到7的随机函数: rand_17()调用生成0和1的随机函数3次,构成00转载 2013-05-22 08:55:14 · 752 阅读 · 0 评论 -
MD5加密,并转换为16进制
背景:在做爬虫的URL处理专题中需要对URL进行处理再存储。要求: Java 中对数据进行MD5加密,并转换为16进制,以字符串的形式输出(1) 在Java中,java的java.security.MessageDigest已经定义了MD5的计算,得到的结果是128位整数。(2) 将此128位转换为十六进制以字符串的形式输出下面直接来代码import j原创 2013-06-02 12:54:04 · 3857 阅读 · 0 评论 -
基于Berkeley DB实现的持久化队列
队列很常见,但大部分的队列是将数据放入到内存.如果数据过多,就有内存溢出危险,而且长久占据着内存,也会影响性能.比如爬虫,将要抓取的URL放到内存,而URL过多,内存肯定要爆.在读Heritrix源码中,发现Heritrix是基于Bdb实现了一个持久化队列,于是我就将这块代码独立出来,平时使用也蛮爽的,现在拿出来共享.同时数据已经持久化,相比放在内存的一次性,可以循环累加使用. 大家也知转载 2013-06-03 09:36:58 · 957 阅读 · 0 评论 -
几种压缩算法原理介绍
几种压缩算法原理介绍RLERLE 又叫 Run Length Encoding ,是一个针对无损压缩的非常简单的算法。它用重复字节和重复的次数来简单描述来代替重复的字节。尽管简单并且对于通常的压缩非常低效,但它有的时候却非常有用(例如, JPEG 就使用它)。1.1. 原理图 2.1 显示了一个如何使用 RLE 算法来对一个数据流编码的例子,其中出现六次的符号‘ 93 ’已经用 3转载 2013-09-10 10:24:57 · 919 阅读 · 0 评论 -
聚类算法总结
聚类算法总结:---------------------------------------------------------聚类算法的种类:基于划分聚类算法(partition clustering)k-means:是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据转载 2014-01-04 15:26:56 · 753 阅读 · 0 评论 -
聚类算法之Kmeans (Java实现)
聚类算法之Kmeans (Java实现)资源出处:http://blog.csdn.net/qll125596718/article/details/8243404 http://www.cnblogs.com/zhangchaoyang/articles/2181869.html 一、知识点:KMeans是最著名的划分聚类算法,K-mea转载 2014-01-04 21:59:53 · 1736 阅读 · 0 评论 -
决策树C4.5
机器学习算法----决策树C4.5C4.5是ID3的改进,中用信息增益选择属性时偏向于选择分枝比较多的属性值,即取值多的属性,在C4.5中由于除以了 ,可以削弱这种作用。C4.5是如何处理连续属性的呢?实际上它先把连续属性转换为离散属性再进行处理。虽然本质上属性的取值是连续的,但对于有限的采样数据它是离散的,如果有N条样本,那么我们有N-1种离散化的方法:vj的分到右子树。计算这N原创 2014-04-21 12:39:12 · 691 阅读 · 0 评论