自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 分布式一致性协议:Basic Paxos原理及推导

文章目录引言问题的提出提案的选定初步尝试 - Single Acceptor多个acceptor推导一个acceptor必须批准它收到的第一个提案一个acceptor必须能够批准不止一个提案有序提案的组成提案value的约束proposer生成提案acceptor批准提案算法陈述learner学习被选定的value选取主Proposer保证算法的活性参考引言Paxos是啥,引用大牛Leslie...

2018-12-27 17:01:53 3621 1

原创 glusterfs IO缓存池

glusterfs IO缓存池主要包括三个数据结构:iobuf_pool,iobuf_arena,iobuf。iobuf最小的io buffer单元 struct iobuf { union { /* 链表,链接到同一个iobuf_arena中的其他iobuf */ struct list_head list; ...

2018-09-03 01:17:37 1206

原创 gluster安装完全指南

环境机器系统版本:debian9.5 【more /etc/debian_version】gluster版本:glusterfs 4.1.1【glusterfs --version】服务端:fk1 192.168.48.160服务端:fk2 192.168.48.161客户端:fk3 192.168.48.162网关:192.168.48.2掩码:255.255.25...

2018-07-22 22:14:24 2216

原创 基数估计算法(二):Linear Counting算法

写作不易,转载请注明出处:http://blog.csdn.net/wbin233,谢谢。简介基本思想及实现公式证明Un和Vn的期望和方差U_n和V_n的期望和方差偏差-BiasnnBiasfrachat nn的计算标准误差-StdErrornn的计算StdErrorfrachat nn的计算bit数组的长度m的选取满桶控制参考资料简介Linear Counting是KYU-YO

2017-12-09 22:47:09 3348 1

原创 基数估计算法(一):Flajolet-Martin算法

写作不易,转载请注明出处: http://blog.csdn.net/wbin233/article/details/78730977简介说起基数估计算法的始祖,或许就是由Flajolet和Martin大佬发表的论文《 Probabilistic counting algorithms for data base applications 》开始的吧。他们提出在大数据中基于概率来估计基数的算法,江湖人称FM算法。

2017-12-06 17:20:37 8163

原创 多种基数估计算法

Flajolet-Martin(FM) sketch 又名 Probabilistic counting with stochastic averaging (PCSA).Linear CountingLogLog CountingHyperLogLog CountingAdaptive CountingHperLogLog++ CountingMinCount【关于每种方法的具体介绍

2017-12-06 14:13:23 1082

原创 一种快速求集合交集个数上限的方法

简介动机Cardinality FiltersSCF - Single Cardinality FilterSCF的几点性质RCF - Recursive Cardinality FilterRCF的几点性质参考资料简介介绍一个新的数据结构“Cardinality Filter”来快速计算一组交集的大小上限。且期望的时间复杂度为O(|A|+|B|w\frac{|A| + |B|}{w}

2017-12-05 14:28:16 3833 1

原创 LIS算法: 最长上升子序列

LIS定义 LIS(Longest Increasing Subsequence)最长上升子序列 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … < iK <= N。 比如,对于序列(1, 7,

2017-08-25 11:49:16 22425 6

原创 使用Flask-Mail和qq邮箱SMTP服务发送邮件

开启qq邮箱SMTP服务安装Flask-Mail配置Flask-Mail发送邮件大量邮件附件完整例子项目中不可避免需要使用邮箱认证,如果使用flask则可以利用Flask-Mail来实现。 Flask-Mail 扩展提供了一个简单的接口,可以在 Flask 应用中设置 SMTP 使得可以在视图以及脚本中发送邮件信息。开启qq邮箱SMTP服务这里我利用的qq邮箱的SMTP服务,所以首

2017-06-14 13:23:32 21993 1

原创 linux下升级python3

查看本地python版本提前填坑做好准备下载要安装的python版本解压安装配置编译安装验证设置默认版本配置yum和pip最近购了一年的阿里云服务器,配的操作系统是CentOS 7.2 64位,默认安装了python,不过版本是2.7.5,没有配python3.5,python3还是很好用的,那我自然不能忍受了。 以下便是升级py3的过程以及一些坑。查看本地python版本如果安装了py

2017-06-13 23:39:08 1058

原创 位运算求数组中只出现一次的数

今天偶然看到的有趣的问题,有好几个系列,感受位运算的小魅力。 当然下面的题可以用map来简单算出,所以下面的题要求时间复杂度为O(n),空间复杂度为O(1)。1. 简单版 一个数组中,只有一个数只出现一次,其他的数都是成双成对出现(2次,4次,6次…),求这出现一次的数。熟悉异或运算的朋友,看到就会说so easy了。 就是利用异或的性质,两个相同的数异或结果为0,不同为1,同时异或与顺序

2017-06-11 01:35:15 3164 1

原创 康托展开和逆康托展开

简述 康托展开是一个全排列到一个自然数的双射,常用于构建hash表时的空间压缩。设有n个数(1,2,3,4,…,n),可以有组成不同(n!种)的排列组合,康托展开表示的就是是当前排列组合在n个不同元素的全排列中的名次。原理X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中, a[i]为整数,并且0 &lt;= a[i] &lt;= i,

2017-06-10 17:56:16 21079 15

原创 android 蓝牙4.0(BLE)开发

最近刚好项目需要手机与蓝牙模块通信,基于蓝牙4.0,网上资料较少也有些小坑,故作一下总结。关键术语和概念蓝牙有传统蓝牙(3.0以下)和低功耗蓝牙(BLE,又称蓝牙4.0)之分,而蓝牙4.0开发需要android4.3版本(API 18)及以上才支持BLE API。相比传统的蓝牙,BLE更显著的特点是低功耗。这一优点使android App可以与具有低功耗要求的BLE设备通信,如近距离传感器、心脏速

2017-06-06 12:27:18 2759 3

原创 编程语言分析及其应用:Lisp格式到C格式的转换及其计算

Lisp格式到C格式的转换Lisp格式表达式的类型检测Lisp格式表达式的计算Lisp格式到C格式的转换Lisp的函数调用格式为: (函数名 参数1 参数2 … 参数n)C的函数调用格式为:函数名(参数1, 参数2, …, 参数n)现有五个整数的二元函数add、sub、mul、div、mod和一些使用这些函数的Lisp格式表达式,请实现一个程序转换器,将这些Lisp格式表达式转成C格式的表

2017-05-27 00:34:19 3651 16

原创 python 列表去重(不可变类型和可变类型)

不可变类型利用set特性去重ids = [1, 3, 8, 3, 8, 1, 9, 9, 9, 1]ids = list(set(ids))新建一个list,循环遍历ids = [1, 3, 8, 3, 8, 1, 9, 9, 9, 1]new_ids = []for item in ids: if item not in new_ids: new_ids.ap

2017-05-25 00:09:16 4857

原创 java8 LinkedList源码阅读【2】- 总结

上一篇文章 java8 LinkedList源码阅读已经分析了LinkedList源码,现对LinkedList做个小结。LinkedList特点 双向链表实现,因此没有固定容量,不需要扩容元素时有序的,输出顺序与输入顺序一致允许元素为 null所有指定位置的操作都是从头开始遍历进行的和 ArrayList 一样,不是同步容器需要更多的内存,LinkedList 每个节点中需要多存储前

2017-04-17 01:27:38 823

原创 java8 LinkedList源码阅读

阅读了LinkedList源码的实现,并对源码做了相关注释,如下: 以下内容基于jdk1.8.0_121的ArrayList的源码。 【如果觉得代码太长,可直接看另一篇 java8 LinkedList源码阅读【2】- 总结】/* * LinkedList 源码阅读 * Created by wbin on 2017/4/16. */package java.util;import ja

2017-04-16 22:16:01 380

原创 java8 ArrayList源码阅读【2】- 总结

上一篇文章 java8 ArrayList源码阅读已经分析了ArrayList源码,现对ArrayList做个小结。ArrayList一个动态数组,其本质也是用数组实现的,它具有:随机访问速度快,插入和移除性能较差(数组的特点);支持null元素;有顺序;元素可以重复;线程不安全;ArrayList实现了List接口以及list相关的所有方法,它允许所有元素的插入,包括null。另外,Array

2017-04-16 13:33:01 3273 1

原创 java8 ArrayList源码阅读

阅读了ArrayList源码的实现,并对源码做了相关注释,如下: 以下内容基于jdk1.8.0_121的ArrayList的源码。 【如果觉得代码太长,可直接看另一篇《 java8 ArrayList源码阅读【2】- 总结》】/* * ArrayList 源码阅读 * Created by wbin on 2017/4/15. */package java.util;import j

2017-04-16 01:23:08 569

原创 poj 3254 Corn Fields【状态压缩dp-入门】

题目链接:http://poj.org/problem?id=3254Corn FieldsFarmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ≤ 12) square parcels. He wants to grow some yummy corn for the cows on a number of squares. Regrettably, some of

2016-04-11 17:31:49 527

原创 poj3468 A Simple Problem with Integers[线段树成段更新成段查询]

A Simple Problem with Integers=se Time Limit: 2000MSDescriptionYou have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The other is to ask

2016-04-08 02:40:05 427

原创 HDU 1166 敌兵布阵[线段树单点更新成段查询]

敌兵布阵Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少人

2016-04-08 02:17:14 498

原创 HDU 1754 I Hate It(线段树区间求最值)

HDU 1754 I Hate It(线段树区间求最值)I Hate It很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。

2016-04-08 02:05:02 390

原创 Android 从相册中选择照片并返回

参考自《第一行代码》及相关资料,这里存一遍后以后就不用再重头打一遍了。。首先由于进行读写操作,要在 AndroidManifest.xml中声明权限:调用系统相册:private static final int CHOOSE_PHOTO=0;Intent intent = new Intent("android.intent.action.GET_CONTENT");i

2016-03-22 14:25:31 7698 5

原创 android studio在线安装插件

这里我的版本是android studio 1.5.1。先点开File ,点击Setting点开Setting后点击Plugins 出现下图。 下面列的就是软件已经安装过的插件。在这里,我们选择在线安装插件,有三个按钮。第一个按钮是安装官方插件,第二个是安装民间插件,第三个则是安装本地插件。在这里点击 第二个按钮“Browse repositories..”按钮

2016-03-21 00:10:11 614

原创 利用java UDP协议,实现简单的双人聊天

大概思路就是在主线程中,跑两个子线程,一个用于发送消息,另一个用于接收消息,就这么简单... =  =  代码附下:/* by wbin 2015/12/18利用UDP协议,实现了简单的双人聊天 */import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;im

2015-12-18 19:00:32 4121

原创 n皇后问题回溯法---java图形界面实现回溯过程

/* by wbin 2015/12/18实现n皇后问题的回溯法过程,以java图形界面展示,代码写得略丑,见谅.*/import java.awt.Color;import java.awt.Font;import java.awt.GridLayout;import java.awt.Label;import javax.swing.JFrame;public class Ma

2015-12-18 18:42:36 3119

原创 一些常用的控制行命令

下面是今晚给人讲的常用命令行指令:shutdown -s -t 0assoc .exe=exefileattrib +h  /sdir  /ah *.avi cd color clsmove rename rd/rmdirtype

2015-12-06 23:28:06 748 1

空空如也

空空如也

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

TA关注的人

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