【摘要】查找—-用关键字标识一个数据元素,查找时根据给定的某个值,在表中确定一个关键字的值等于给定值的记录或数据元素。在计算机中进行查找的方法是根据表中的记录的组织结构确定的。查找功能数据处理的一个基本功能。数据查找并不复杂,但是如何实现数据又快又好地查找呢?前人在实践中积累的一些方法,值得我们好好学些一下。我们假定查找的数据唯一存在,数组中没有重复的数据存在。1、 顺序查找设想有一个1M的数据,我...
分类:
编程语言 时间:
2015-06-17 21:38:47
阅读次数:
173
Bitcask 存储模型Bitcask 是一个日志型、基于hash表结构的key-value存储模型,以Bitcask为存储模型的K-V系统有 Riak 和 beansdb 新版本。日志型数据存储何谓日志型?就是append only,所有写操作只追加而不修改老的数据,就像我们的各种服务器日志一样。...
分类:
其他好文 时间:
2015-06-16 16:22:41
阅读次数:
148
本文将从memcached 使用角度,从客户端,协议,服务器端来简要介绍一下memcached 的特性。
memcached是一个高性能的分布式K-V内存存储系统,其在内存中维护了一张hash表,由于其可以在内存中读取,所以读写速度很快,由于内容存在内存中,断电后会遗失,所以可靠性不如db,现在也有将memcached和BDB结合在一起的,叫做memcacheDB,这里不做讨论。
由于其读写速...
分类:
系统相关 时间:
2015-06-13 23:08:48
阅读次数:
154
题意一共收集了N张邮票,现在丢了2张,剩下N-2张…..原先收集的邮票全部是成对收集的,所以找到哪两种邮票是成单的,输出它们。(确定丢失的邮票不是同一种)思路因为编号比较大,可以用hash表压缩成数组可以开的下的大小。压缩直接取模就好。如果冲突就往下一个找。代码#include
#include
#define MOD 1000007
const int max...
分类:
其他好文 时间:
2015-06-10 10:28:18
阅读次数:
104
基数树
对于长整型数据的映射,如何解决Hash冲突和Hash表大小的设计是一个很头疼的问题。
radix树就是针对这种稀疏的长整型数据查找,能快速且节省空间地完成映射。借助于Radix树,我们可以实现对于长整型数据类型的路由。利用radix树可以根据一个长整型(比如一个长ID)快速查找到其对应的对象指针。这比用hash映射来的简单,也更节省空间,使用hash映射hash函数难以设计...
分类:
其他好文 时间:
2015-06-08 01:05:03
阅读次数:
149
分析:题意是一个生成随机数的函数,Seed[x+1] = ( seed[x] + STEP ) % MOD,seed是生成出来的随机数,seed[0]是哪个数并不重要,后面证明。STEP就是每次往前一个所加的值,再模上MOD得到下一个随机数。
判断这个随机生成函数的好坏的依据是如果能够产生0~MOD-1内的所有数,就是一个好的,否则坏(因此该題也可以用模拟,用HASH表)。
根据同余特性,...
分类:
其他好文 时间:
2015-06-06 14:58:54
阅读次数:
127
对于长整型数据的映射,如何解决Hash冲突和Hash表大小的设计是一个很头疼的问题。
radix树就是针对这种稀疏的长整型数据查找,能快速且节省空间地完成映射。借助于Radix树,我们可以实现对于长整型数据类型的路由。利用radix树可以根据一个长整型(比如一个长ID)快速查找到其对应的对象指针。这比用hash映射来的简单,也更节省空间,使用hash映射hash函数难以设计,不恰当的hash函数可能增大冲突,或浪费空间。...
分类:
其他好文 时间:
2015-06-05 00:45:36
阅读次数:
158
1.NSSet是Hash表使用散列算法而生成,如果集合中又两个相同的元素,那么只生成后面的那一个2.声明一个NSSetNSSet *set = [[[NSSet alloc] initWithObjects:@"one",@"two",@"three", nil] autorelease];NSSe...
分类:
其他好文 时间:
2015-06-05 00:43:46
阅读次数:
101
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。本篇主要简述编译php及其扩展memcache,在阅读...
转自:http://www.kongqingquan.com/archives/208#more-208Erlang中的atom由通用hash表实现,虚拟机中atom最终的用数值表示,对应表中的下标值。本文通过list_to_atom函数的实现,分析atom在虚拟机中的内部实现。先看atom的数据结...
分类:
其他好文 时间:
2015-06-02 17:04:25
阅读次数:
140