1基本数据结构基本数据结构有:数组。顺序存储,可随机访问。有最快的查询速度,插入、删除元素非常麻烦。链表。存储相对位置,可按节点依次访问。查询较慢,插入、删除节点较快。有单向链表、双向链表等。块状链表。数组和链表结合。栈和队列。树。有二叉树、平稀树、B树等。堆。有顺序的树。散列表。哈希表,即map。...
分类:
其他好文 时间:
2014-07-10 12:44:03
阅读次数:
164
js比较特殊,没有类的概念,js中的对象定义为:"无序的属性的集合,其属性可以包含基本值,对象或者函数".js的对象可以直接理解为散列表.对象的每个属性或者方法都有一个名字,而每个名字都映射到一个值.无非就是一组键值对,其中的值可以是数据或者是函数每个对象都是基于一个引用类型来创建的,这个引用类型可...
分类:
Web程序 时间:
2014-07-02 22:41:10
阅读次数:
360
基本枚举、贪心、递归、分治、递推、模拟STL(pair、vector、set、map、queue、string、algorithm)构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/Tr...
分类:
其他好文 时间:
2014-07-01 19:09:02
阅读次数:
193
下面这个散列表的实现来自K&R,很经典。在其他场景中遇到的实现更复杂,基本原理不变,只是在hash算法,或者在快速查询上做了优化。
#include
#include
//具有相同hash值构成的链表
struct nlist{
struct nlist
* next;
char * name; //key-定义的名字
char ...
分类:
其他好文 时间:
2014-07-01 07:42:51
阅读次数:
158
下面这个散列表的实现来自K&R,很经典。在其他场景中遇到的实现更复杂,基本原理不变,只是在hash算法,或者在快速查询上做了优化。
#include
#include
//具有相同hash值构成的链表
struct nlist{
struct nlist
* next;
char * name; //key-定义的名字
char ...
分类:
其他好文 时间:
2014-06-30 19:08:53
阅读次数:
209
这几个概念在金融电子支付领域用得比较多,我忽然觉得把它们串起来一起讲,层层引入,可能更好理解一些。希望能以最简单朴实的方式讲明白他们之间的关系...
分类:
其他好文 时间:
2014-06-29 23:06:02
阅读次数:
261
#include#includetypedef char* ElementType;typedef unsigned int Index;#define MinTableSize 15struct ListNode;typedef struct ListNode *Position;struct H...
分类:
其他好文 时间:
2014-06-26 18:04:01
阅读次数:
155
#include#include"fatal.h"typedef char* ElementType;typedef unsigned int Index;typedef Index Position;struct HashTbl;typedef struct HashTbl *HashTable;...
分类:
其他好文 时间:
2014-06-26 17:19:52
阅读次数:
150
一、简述
mac(Message Authentication Code,消息认证码算法)是含有密钥散列函数算法,兼容了MD和SHA算法的特性,并在此基础上加上了密钥。因此MAC算法也经常被称作HMAC算法。关于hmac算法的详情可以参看RFC 2104(http://www.ietf.org/rfc/rfc2104.txt),这里包含了HmacMD5算法的C语言实现。
这里需...
分类:
其他好文 时间:
2014-06-26 12:15:52
阅读次数:
293
首先看看散列算法是什么。 散列函数或散列算法,又称哈希函数,英语:Hash Function,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值的指纹。散列值通常用来代表一个短的随...
分类:
其他好文 时间:
2014-06-25 17:06:52
阅读次数:
193