一 基本思想:cuckoo hash是一种解决hash冲突的方法,其目的是使用简单的hash 函数来提高hash table的利用率,同时保证O(1)的查询时间基本思想是使用2个hash函数来处理碰撞,从而每个key都对应到2个位置。插入操作如下:1. 对key值hash,生成两个hash key值...
分类:
其他好文 时间:
2014-09-07 10:59:54
阅读次数:
290
详细MIT算法导论笔记 (网络链接) 第一讲:课程简介及算法分析 第二讲:渐近符号、递归及解法
分类:
其他好文 时间:
2014-09-02 22:41:55
阅读次数:
506
一、二叉树 1、定义 二叉树是一棵树,其中每个节点都不能多于2个儿子。 2、实现 typedef struct TreeNode *PtrToNode;typedef PtrToNode Tree;typedef char ElementType;struct TreeNode{ ElementTy...
分类:
其他好文 时间:
2014-09-01 13:49:03
阅读次数:
157
在算法分析中,当一个算法中包括递归调用时,其时间复杂度的分析会转化为一个递归方程求解。实际上,这个问题是数学上求解渐近阶的问题,而递归方程的形式多种多样,其求解方法也是不一而足,比較经常使用的有下面四种方法: (1)代入法(Substitution Method) 代入法的基本步骤是先猜測递归方程....
分类:
其他好文 时间:
2014-08-31 21:16:41
阅读次数:
207
今天我们要部分实现背单词功能,在开始正题之前,还是附上背单词软件的下载链接:http://apk.91.com/Soft/Android/com.carlos.yueci-4.html最近实验室有了任务,时间会紧些,因此这个项目要加快进度了。 首先把我在系列二中的功能分析拷贝过来: 功能2、...
分类:
移动开发 时间:
2014-08-31 00:20:50
阅读次数:
380
题目地址:http://codeforces.com/contest/461/problem/C
题目大意:见原题。
算法分析:启发式暴力,每次把短的纸带折到长的纸带中,在全局记一个rev标记。注意细节。
Code:
#include
#include
#define N 100000
using namespace std;
bool rev;
int n,q,beg=1,en...
分类:
移动开发 时间:
2014-08-27 13:06:57
阅读次数:
238
快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较。
快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。
步骤为:
从数列中挑出一个元素,称为 "基准"(pivot),重新排序数列,所有元素比基准值小的摆放在基准前面,所有元...
分类:
编程语言 时间:
2014-08-23 23:03:11
阅读次数:
485
归并排序:将两个已经排序的串行合并成一个串行的操作。
算法描述如下:
申请空间,使其大小为两个已经排序串行之和,该空间用来存放合并后的串行;设定两个指针,最初位置分别为两个已经排序串行的起始位置;比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置;重复步骤3直到某一指针到达串行尾将另一串行剩下的所有元素直接复制到合并串行尾...
分类:
编程语言 时间:
2014-08-21 22:49:05
阅读次数:
292
一、队的概念 队列也是一种表,但是是一种受限的表,只允许从一端插入,另一端山粗的表。 二、队列的数组实现 #define QMAXSIZE 100typedef int Position;typedef int QElement;typedef struct queue{ QElement Els[...
分类:
其他好文 时间:
2014-08-21 18:53:24
阅读次数:
186