自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

灵异空间

奇迹发生的地方

  • 博客(20)
  • 资源 (9)
  • 收藏
  • 关注

原创 可自动扩展的高可用Swarm集群EdgeScaler的搭建

项目简介随着虚拟化和容器技术的日趋成熟,Docker越来越受到人们的关注,目前Docker已经发展到1.10版本,并且已经可以在生产环境大规模部署。本文介绍EdgeScaler集群系统,使用Swarm+Docker+Registrator+Etcd+Confd+HAProxy搭建了一个可自动可扩展的docker集群。

2016-03-14 14:14:23 2125

原创 SSL + Socket NIO 原理 与 SSLEngine + Naga SSLSocket 的使用

什么是SSLSSL记录协议工作流程SSL握手协议原理SSLEngine的使用SSLEngine的握手流程SSLEngine的状态标志Naga 库中 SSL 使用自签名认证证书的申请Naga SSL 使用代码什么是SSLSSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全

2015-11-19 13:58:59 5861 1

原创 Socket 与 Android Socket AIO 库 Naga 的介绍

Socket介绍Socket相关概念应用场景非阻塞IO复用性能比较Naga Socket 库Nage 运行构架图架构介绍架构流程Naga Socket Client 代码小结最近项目要求Android客户端使用Socket,所以把Android平台能够使用的Socket调研了一下:Socket介绍Socket分为如下几种:BIO、NIO、AIO,在了解每种Socket之前,首先要

2015-11-18 17:44:40 3830 10

原创 无序链表排序

需求给定一个无序的链表,输出有序的链表。分析链表排序比较特殊,由于不连续的性质,所以在进行排序的时候要引入外排思想,因此归并排序或者多路归并就成为了排序的选择。 归并排序分为拆分、合并两个阶段: 1. 拆分 需要拆分出链表中间节点,并赋值NULL阶段,形成两个独立的链表,直到拆分成单个节点为止。 2. 合并 由于此时没个链表都为单节点,所以实质上是个有序链表合并问题。代码下面

2016-05-20 09:45:11 2952 1

原创 Android主流推送介绍

前言最近有个Android项目

2014-06-17 16:46:03 2677

原创 基于余弦距离的的文本相似度挖掘(C++)

本文实现了根据余弦距离的文本相似度的C++实现算法,如要要点如下:1、对1998年1月的人民日报所有文章进行预处理(其中文件已经分化好分词),然后进行去噪声、去停用词等操作。2、对处理好的数据进行余弦计算,并存储为相应的数据结构。3、输出前N篇最相似的文章下面介绍Statistics.cpp,对预处理文件进行统计词频。

2014-06-17 15:40:28 3437 1

原创 数据库读写锁的实现(C++)

一、基本概念在数据库中,对某数据的两个基本操作为写和读,分布有两种锁控制:排它锁(X锁)、共享锁(S锁)。排它锁(x锁):若事务T对数据D加X锁,则其它任何事务都不能再对D加任何类型的锁,直至T释放D上的X锁;                 一般要求在修改数据前要向该数据加排它锁,所以排它锁又称为写锁。共享锁(s锁):若事务T对数据D加S锁,则其它事务只能对D加S锁,而不能加X锁

2014-06-17 15:35:49 3858 1

原创 字符串移位包含问题

在编程之美3.1中,此题解法是用strstr()函数,并且以空间换时间,其实只要用循环遍历即可其时间复杂度: k 代码如下#includeusing namespace std;int findSubStr(char source[], char subStr[], int sLen, int oLen){ if(source == NULL || subStr ==

2014-06-17 15:29:55 641

转载 强大的矩阵奇异值分解(SVD)及其应用

在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在学习SVD时发现的好文,推荐给大家,原始地址为:http://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html原文如下:前言:    上一次写了关于PCA与LDA的文章,PCA的

2014-06-17 15:28:41 787

原创 ACE多线程服务器

ACE(Adaptive Communication Environment),它是一个面向对象的、跨平台的、开放源码的网络编程基础设施框架。    ACE 是由加利福尼亚大学Irvine分校的Douglas C.Schmidt 博士主导开发的,是一种跨平台可编译的网络编程API,并随后在工业界中发展、完善,它将底层的不同系统的细节透明化,为开发者提供统一的接口,从而可在不同系统上相互移植,提

2014-06-17 15:18:00 833

原创 最大公约数的快速求法

本题为编程之美中的第2.7题,上面的解法比辗转相除发的时间复杂度要小很多。看完之后用while循环代替了递归重写了一下。废话少说,上源码:

2014-06-17 15:14:03 999

原创 并查集的实现

1、概述  并查集(Disjoint set或者Union-find set)是一种树型的数据结构,常用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。2、基本操作  并查集是一种非常简单的数据结构,它主要未来解决如下两种经常性操作而产生的,分别为:  A. 合并两个不相交集合  B. 判断两个元素是否属于同一个集合(经常性)(1

2014-06-17 15:06:16 852

原创 找出出现次数最多的几个数值

这道题目所说的出现最多的几个数值,其实是带有附加条件的:  这几个数值中出现次数最少的那个数,要比除这几个值外的其他数的总个数要多。(说的自己都有点晕-_-!)这样才能在最后结果中,呈现这几个数。所以必须按照数据源中的统计量分析出求前几位的数值。其代码如下:#include #include using namespace std;void Find(int data[],

2014-06-17 14:59:49 1437

原创 寻找最大的K个数

这是一道很普遍和基础的题目,有很深的扩展性。一、首先,第一反应往往会想到快速排序后,再输出K个元素,但是时间复杂度为O(N*logN/log2) + O(K) = O(N*logN/log2)。        另外一种做法是,通过冒泡排序选出K个最大的出来,它的时间复杂度为O(N*K)。        这就要比较K 二、那么,进一步化简:  

2014-06-17 14:57:38 819

原创 决策树C4.5分类算法的C++实现

公司布置了一个任务让写一个决策树,以前并未接触数据挖掘的东西,但作为一个数据挖掘最基本的知识点,还是应该有所理解的。  程序的源码可以点击这里进行下载,下面简要介绍一下决策树以及相关算法概念。  决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的

2014-06-17 14:38:58 7368 9

原创 在10进制和2进制中,从0到N总共包含1的数目

这是一道比较传统的面试题,自己写了个10进制的求1个数的程序,后来在《编程之美》中发现上面的解法更好一些,随后有用它的方法重写了一遍2进制下的求解方法。  程序源码请点击这里下载。  对于自己写的10进制程序:主要思想还是从前期的分析得出来的:  1、先统计N的相应位置所对应的累加和数组  2、从前到后,根据所当前位置对应的位数,进行累加,即:    1)当

2014-06-17 14:36:20 850

转载 SVM算法入门

转自:http://www.blogjava.net/zhenandaci/category/31868.html(一)SVM的简介支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。 支持向量机方法是建立在统计学习

2014-06-17 14:31:12 625

转载 文本分类入门

来源  http://www.blogjava.net/zhenandaci/category/31868.html?Show=All文本分类入 门(一)文本分类问题的定义文本分类系列文章,从文本分类问题的定义开始,主要讲解文本分类系统的构成,主流的统计学习方法以及较为优秀的SVM算法及其改进。      一个文本(以下基本不区分“文本”和“文档”两个词的含义)分类问题就是将一篇文

2014-06-17 14:29:38 1329

原创 二叉树中查找两个节点的最低公共祖先

这是一道企业面试中,经常会被问到的面试题目。在网上看到一些此题的实现,其中有两种方法是比较适合编程的。本项目的源代码,请点击这里下载。方法一:  此方法是根据二叉树的DFS查找并标记祖先,根据递归出栈的原理,找到公共祖先。  其主要代码如下:

2014-06-17 14:24:18 4267 1

原创 nutch安装与测试

一、nutch 介绍(来自百度百科)Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步演变成为一个公司垄断了几乎所有的web搜索为其谋取商业利益.这显然不利于广大Internet用户.  Nutch为我们提供了这样一个不同的选择.

2014-06-17 13:54:05 969

数据库读写锁的C++实现

本程序为VS2010编写,实现对数据库对象读写锁的模拟。

2013-01-03

ACE网络编程(英文版)

本资源为ACE网络编程权威教程,对ACE的开发、部署进行了透彻明了的说明。

2012-11-30

ACE多线程服务器C++实现

本程序为VS2010开发,实现了ACE的多线程分配处理的类socket程序。

2012-11-30

并查集C++实现

为VS2010编写,代码使用了boost库,请安装相应库文件,运行程序。

2012-11-30

决策树C4.5算法的c++实现

本程序为VS2010编写,其中源程序中包含测试数据。

2012-11-14

从0到N的数中总共包含1的数目

本程序为VS2010编写,其中包含10进制和2进制算法实现。

2012-11-14

从0到N中总共1的数目

本程序为VS2010编写,其中包含10进制和2进制不同的两种方法。

2012-11-14

二叉树中最低公共祖先

本程序为VS2010编写,其中包含两种方法实现此题目。

2012-11-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除