12 xiaoyeyopulei

尚未进行身份认证

暂无相关简介

等级
TA的排名 3w+

红黑树实现

直接上代码/* * bst.h * * Created on: Jun 20, 2014 * Author: buyuanyuan */#ifndef BST_H_#define BST_H_#include #include typedef enum Color { RED = 0, BLACK = 1} Color;typede

2014-06-30 14:46:28

蚁群算法

蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。

2014-05-19 14:02:18

中文分词选取-依概率选取

上一篇文章中介绍了一种中文分词的选取算法,本篇文章将介绍另外一种中文分词选取算法,依概率选取算法。 中文分词分词完成之后,还是上篇文章中的原则,分词结果不唯一,然后我们算法的目的是从几种分词好的算法之后选取一个作为分词的最终结果。算法会统计每个词在所有文档中的概率,该算法的中心思想是计算一个字符串中所有分词的概率之积,选取概率最大的作为分词的最终结果。 算法步骤:第一步,通过上几篇文章的的算法对字符串进行分词;第二步,扫描每一次分词结果;第三步,计算每一次分词结果的所有词的概

2014-05-14 13:56:58

中文分词选取-不成词个数判断法

运用前面几篇文章中的分词算法,可以把中文中的词语分出来,但是不同算法可能得到的分词结果不一样,到底如何确定那种分词效果最好呢。我们在这篇文章中探讨一种判断分词效果好坏的方法。 在分词的时候,有些单字是不成词的。可以搜索所有分词的可能性,然后对每一种分词结果进行统计,规则如下:每分出一个词就给分词统计结果加一,如果遇到不成词的单字就再给该分词结果加一。得到的结果分别计算出来。选出一个得分最低的就是所要分词的字符串的结果。 下面就用代码实现一下上面的思想。分别用正向最大匹配和逆向

2014-05-14 10:49:25

遗传算法

最近在研究一些算法,前几天看了一下遗传算法。什么是遗传算法,简单地说是解决某一问题时,利用生物学中遗传的一些策略,现在可以说一下算法的步骤。

2014-05-08 14:33:10

中文分词--最少单词数

中文分词算法在前两篇文章中介绍了正向最大匹配算法和逆向最大匹配算法本篇文章主要介绍最少单词数算法。顾名思义,就是最少的单词数。算法思想是首先查找词典中最长的单词,匹配看是不是所要分词的字符串的子串,如果是则就是分词的词,迭代以上结果,每次都会在字符串中最长的单词分词,就可以得到最少的单词数不多说了 直接上代码:package com;import java.ut

2014-05-07 21:09:46

中文分词--逆向最大匹配

上一篇文章中介绍了正向最大匹配,可以看到有时候效果不是很好,这里在介绍一种逆向最大匹配的算法。词典和匹配的字符串都和上一篇文章相同只是本算法是从后到前搜索字符串,然后找到最长的匹配结果输出。上代码

2014-05-07 11:31:00

中文分词——正向最大匹配法

中文分词应用很广泛,网上也有很多开源项目。我在这里主要讲一下中文分词里面算法的简单实现,废话不多说了,现在先上代码package com;import java.util.ArrayList;import java.util.List;public class Segmentation1 { private List dictionary = new ArrayList();

2014-05-07 11:04:40

Redis源码学习笔记(一)

最近在用Redis,一直没有时间去了解Redis原理以及内部实现,准备花一个月的闲暇时间去看看Redis低版本的源码,学习一下Redis的原理以及内部实现。下载redis-1.0.tar.gz 直接解压,直接执行makefile,得到三个目标文件,redis-benchmark,redis-cli,redis-server要想看到Redis的执行效果,第一步执行./redis-server

2014-01-17 11:27:18

设计模式之(四)Singleton模式

单件模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。public class Singleton {private Singleton(

2013-09-29 09:29:13

设计模式之(三)Proxy模式

今天学习Proxy模式。代理模式是在对已有对象操作困难或者不太方便时,选择用代理的方式对对象进行访问。Proxy实现的方法必须和被代理对象一致。举一个简单的例子, 有一个Math类实现了IMath接口package com.proxy;public interface IMath {public int add(int a, int b);public int sub(int

2013-09-27 15:56:16

设计模式之(二)Adapter模式

今天学习Adapter模式,An adapter helps two incompatible interfaces to work together. This is the real world definition for an adapter. Adapter design pattern is used when you want two different classes with

2013-09-27 10:53:16

gsoap 中文乱码处理

在linux下用gsoap得到数据时,中文是乱码用iconv可以处理具体处理见代码:#include int conv_charset(const char *dest, const char *src, char *input, size_t ilen, char *output, size_t olen) {iconv_t conv = iconv_open(dest,

2013-09-26 11:46:26

设计模式之(一)Factory模式

敏捷软件开发-原则、模式与实践依赖倒置原则(DIP)说的是任何类都应依赖于抽象类,避免依赖于具体类。Circle c = new Circle(r);Circle是一个具体类,所以创建Circle的势力都违反了DIP。很多具体类都是非常易变的,依赖于他们会带来问题。这就用到了Factory模式,factory模式允许只依赖于抽象接口就能创建具体对象的实例。下面是个具体的例子

2013-09-26 11:32:25

僵尸进程 处理

由于使用fork创建的子进程被kill以后,父进程没有kill时,用ps查看就会显示该子进程为僵尸进程。开始没有设置signal(SIGCHLD, SIG_IGN);然后在程序里用system(kill -s 9 XXX) XXX表示子进程号运行之后发现子进程显示为僵尸进程。但是直接在后台运行 kill -s 9 XXX再次查看进程就没有僵尸进程产生。sig

2012-11-29 09:20:04

C语言逗号运算符

在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。  假设b=2,c=7,d=5,  a1=(++b,c--,d+3);  a2=++b,c--,d+3;  对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3,为8,所以a1=8。  对

2012-10-15 13:26:10

jscharts.js如何去掉logo的方法

这两天在做一个图表,需要用到pie图,找了几个都不怎么好用,最后选定jsCharts作为框架。可以得到3Dpie图,但是有一个问题是所有的图左上角会有一个logo,去掉logo的方法是打开jscharts.js文件,找到fs.bg.2u(fX),将这句话删除掉即可。我的jscharts的版本是v3.01,可能版本不同会有fg.bg.2t(fX)。

2012-09-27 15:14:07

jquery Math函数

Math.cell语法:Math.cell(x);参数:X是一个数值或者表达式。说明:返回所给参数的近似整数值,近假值为向上取整所得的数值,取近似值为大于等于参数的整数。Math.round语法:Math.round(x);参数:X为一个数值。说明:返回对参数X四舍五入后所得的整数近似值。Math.floor             语法:Mat

2012-09-25 09:19:33

解决putty上vi小键盘不好使的问题

原来在putty上用vi的时候,开NumLock时按小键盘上的数字键并不能输入数字,而是出现一个字母然后换行(实际上是命令模式上对应上下左右的键)。输入数字的时候,不能用小键盘总是很不舒服的。于是就去找解决办法。还是习惯在小键盘上敲击数字解决办法:在选项 Terminal->Features 里,找到 Disable application keypad mode ,选上就可以了。

2012-09-14 13:21:51

一个很好的书籍下载网站

http://www.chm-pdf.com/

2012-09-14 08:30:31

查看更多

勋章 我的勋章
    暂无奖章