0 AES简介 美国国家标准技术研究所在2001年发布了高级加密标准(AES)。AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准。 根据使用的密码长度,AES最常见的有3种方案,用以适应不同的场景要求,分别是AES-128、AES-192和AES-256。本文主要对AES-128进.....
分类:
编程语言 时间:
2015-03-13 07:02:14
阅读次数:
115432
KMP算法详解: KMP算法之所以叫做KMP算法是因为这个算法是由三个人共同提出来的,就取三个人名字的首字母作为该算法的名字。其实KMP算法与BF算法的区别就在于KMP算法巧妙的消除了指针i的回溯问题,只需确定下次匹配j的位置即可,使得问题的复杂度由O(mn)下降到O(m+n)。 在KMP算法中.....
分类:
编程语言 时间:
2015-03-09 12:29:28
阅读次数:
229
k-d树(k-dimensional树的简称),是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。
分类:
编程语言 时间:
2015-02-22 00:31:36
阅读次数:
379
小猴子下落时间限制:3000ms | 内存限制:65535KB难度:3描述有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关...
分类:
编程语言 时间:
2015-02-18 12:58:45
阅读次数:
801
1.RSA加密算法是最常用的非对称加密算法2.RSARSA以它的三个发明者Ron Rivest, Adi Shamir, Leonard Adleman的名字首字母命名,3.目前学术界无法证明RSA算法的绝对正确性,但是也无法证明否定它的安全性,因此恰恰说明该算法有相当的可信性。4.RSA原理基于大...
分类:
编程语言 时间:
2015-02-11 20:32:37
阅读次数:
440
一.插入排序1.算法简介插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描...
分类:
编程语言 时间:
2015-02-11 16:16:36
阅读次数:
213
除了发送函数以外,发送缓冲区对象还会响应来自网络的on_ack和on_nack消息,这两个消息分别是处理正常的状态报告和丢包情况下的网络报告。如果收到on_ack,缓冲区对象会把已经接收端报告过来的报文ID全部从发送窗口中删除,然后调用attempt_send尝试新的块发送。如果收到的是on_nac...
分类:
编程语言 时间:
2015-01-28 14:35:28
阅读次数:
236
数据块定义在RUDP模块中,所有发送的数据被定义成RUDPRecvSegment 和RUDPSendSegment结构,其中RUDPSendSegment是发送块定义,RUDPRecvSegment 是接收块定义。如下://发送数据片typedef struct tagRUDPSendSegment...
分类:
编程语言 时间:
2015-01-28 14:33:38
阅读次数:
232
接收缓冲区相对比较简单,其主要功能是接收发送方的数据并生成接收块、块排序、丢包判断和反馈、读事件通知等。以下是接收缓冲区的定义:class RUDPRecvBuffer{public: ... //来自网络中的数据 int32_t on_data(uint64_t seq, const uin...
分类:
编程语言 时间:
2015-01-28 14:31:38
阅读次数:
271
编辑距离即从一个字符串变换到另一个字符串所需要的最少变化操作步骤(以字符为单位,如son到sun,s不用变,将o->s,n不用变,故操作步骤为1)。为了得到编辑距离,我们画一张二维表来理解,以beauty和batyu为例:图示如1单元格位置即是两个单词的第一个字符[b]比较得到的值,其值由它上方的值...
分类:
编程语言 时间:
2015-01-14 22:36:05
阅读次数:
263