加解密+签名+证书

密钥依赖密钥而不依赖加密算法(私有的加密算法不靠谱)密钥长度决定密钥空间和加解密速度CEK:内容密钥 KEK:密钥的密钥盐(随机数):防字典(攻击)对称加密:密钥配送问题加密模式(加密数据有可能比一次能加密的长度长)分组加密:分组迭代加密 (加密的长度有限制),分组模式ECB、CBC、CFB、O...

2017-03-29 16:31:00

阅读数 551

评论数 0

【MapReduce】

MapReduce通过把对数据集的大规模操作分发给网络上的每个节点实现可靠性(Map);每个节点会周期性地把完成的工作和状态的更新报告回来(Reduce)。大多数分布式运算可以抽象为MapReduce操作。Map是把输入Input分解成中间的KeyValue对,Reduce把KeyValue合成最...

2014-01-06 10:26:54

阅读数 644

评论数 0

背包问题

0-1背包:有N件物品和一个容量为V的背包。第i件物品的重量是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。 f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1]...

2011-10-24 10:00:10

阅读数 528

评论数 1

最长公共子序列

动态规划的一个计算最长公共子序列的方法如下: 以两个序列 X、Y 为例子: 设有二维数组 f[i][j] 表示 X 的 i 位和 Y 的 j 位之前的最长公共子序列的长度,则有:         f[1][1] = same(1,1)       f[i][j] = max{f[i-1]...

2011-10-24 09:41:33

阅读数 417

评论数 0

路由算法

RIP(距离向量算法):定期交换路由表 收到相邻(路由器X的RIP报文)路由表 1.修改所有项下一跳改为X, 距离加1 2.更新本路由表 (1)空目的网络:原路由表无目的网络,直接添加 (2)同目的网络:       下一跳是X, 替换       下一跳不是X,

2011-10-14 10:41:10

阅读数 751

评论数 0

页面替换算法

(1)先入先出(FIFO) (2)最近最少使用(LRU) (3)最优(OPT):换最晚用到的 (4)二次机会(SCR):标记(0/1),环形队列(0:直接换,1:清0下一个)

2011-10-12 15:38:59

阅读数 460

评论数 0

全排列算法

void perm(int list[], int k, int m)  {          int i;          if(k == m)          {                   for(i = 0; i  m; i++)

2011-10-11 10:16:00

阅读数 335

评论数 0

快速排序

【1】单向扫描 PARTITION(A, p, r)     x ← A[r]         //以最后一个元素,A[r]为主元     i ← p - 1     for j ← p to r - 1    //注,j从p指向的是r-1,不是r。

2011-10-09 14:33:31

阅读数 315

评论数 0

二叉树的左旋和右旋

树的旋转,分为左旋和右旋,以下借助图来做形象的解释和介绍: 1.左旋(右子为轴,当前结点左旋) 如上图所示: 当在某个结点pivot上,做左旋操作时,我们假设它的右孩子y不是NIL[T],pivot可以为树内任意右孩子而不是NIL[T]的结点。 左旋以pivot到y之

2011-10-05 10:31:34

阅读数 12806

评论数 1

红黑树

红黑树(带色的二叉查找树) (1)根结点黑色 (2)红色结点的子结点为黑色(红色不相邻) (3)某结点到所有的空结点路径含相等数目的黑结点 "(4)空结点为黑色" =====================================================

2011-10-04 15:36:12

阅读数 929

评论数 0

B树,B+树

B树(m叉树) (1)每个结点最多m棵子树 (2)根结点(非叶子)至少2棵子树 (3)叶结点同一层 (4)其他 至少m/2(上整)棵子树,格式(n,A0,K1,A1,K2,A2...Kn,An),n个数据,数据和子树严格有序 B树查找:查结点(磁盘)+查子树(内

2011-10-04 09:48:17

阅读数 499

评论数 0

Fibonacci数列第n项的log(n)算法

拆分成二进制表示log(n)的乘积 最后只需要log(n)个乘积

2011-09-19 16:13:10

阅读数 350

评论数 0

字典树(Trie树)

Trie树就是字典树,其核心思想就是空间换时间。 举个简单的例子。 给你100000个长度不超过10的单词。对于每一个单词,我们要判断他出没出现过,如果出现了,第一次出现第几个位置。 这题当然可以用hash来,但是我要介绍的是trie树。在某些方面它的用途更大。比如

2011-09-07 15:18:58

阅读数 433

评论数 0

可视化数据结构

基础 Stack栈: 数组实现 Stack栈: 链表实现 Queues队列: 数组实现 Queues队列: 链表实现 Lists列表: 数组实现 ( java 版演示) Lists列表: 链表实现 ( java 版演示) 索引 Binary S

2011-09-07 14:47:52

阅读数 420

评论数 0

KMP(字符串匹配)算法 O(m+n)

在长度为m字符串中匹配长度为n的字符串 加快回溯:(1)建立回溯数组,O(n) ;(2)开始匹配,失败则回溯匹配串下标,O(m) Next [ ]数组 : Next [ k ]表示k及K之前最长的等长前后缀 (P[0...j-1]中最长后缀的长度等于相同字符序列的前缀),k为下标 ...

2011-09-04 14:17:34

阅读数 1015

评论数 0

排序算法比较

http://blog.csdn.net/whuslei/article/details/6442755 基数排序:由于每一趟的"分配"都是对全部记录处理一遍,因此它的时间复杂度是O (n),而每一趟的"收集"只是巡查一遍队列,依次将各非空队列...

2011-09-03 00:23:27

阅读数 428

评论数 0

二叉树遍历

前序:根左右中序:左根右后序:左右根1.递归:调节 root,Travesal(left),Tavesal(right)顺序即可2.非递归:(1)前序:root先入栈,每出栈一个先访问,再右->左入栈(2)中序:每次所有左结点入栈,出栈访问,如果有右子树,则右

2011-07-04 17:11:48

阅读数 342

评论数 0

堆排序

堆排序堆排序是一种选择排序。是不稳定的排序方法。时间复杂度为O(nlog2n)。堆排序的特点是:在排序过程中,将排序数组看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲节点和孩子节点之间的内在关系,在当前无序区中选择关键字最大(或最小)的记录。基本思想

2011-07-04 14:05:07

阅读数 302

评论数 0

最大公约数

<br />辗转相除法(最大公约数=较小数和余数的最大公约数)<br />     <br />辗转相除法使用到的原理很聪明也很简单<br />假设用f(x, y)表示x,y的最大公约数,取k = x/y,b = x%y,则x = ky + b,如果...

2011-05-14 19:34:00

阅读数 489

评论数 0

Floyd算法

Floyd算法是一个经典的动态规划算法。用通俗的语言来描述的话,首先我们的目标是寻找从点i到点j的最短路径。从动态规划的角度看问题,我们需要为这个目标重新做一个诠释(这个诠释正是动态规划最富创造力的精华所在),floyd算法加入了这个概念       Ak(i,j):表示从i

2011-05-13 10:53:00

阅读数 466

评论数 0

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