哈希表(Hash table)经常被用来做字典(dictionary),或称符号表(symbol-table)
直接存取表(Direct-access table):
? 直接存取表(Direct-access table)的基本思想是:如果key的范围为0~m-1而且所有key都不相同, 那么可以设计一个数组T[0..m-1],让T[k]存放key为k的元素, 否则为空(NIL)
? 显然,...
分类:
其他好文 时间:
2015-06-10 17:23:33
阅读次数:
132
1.问题描述
上周末一个做视频直播的朋友向我咨询他们遇到的一个关于大量内存对象并发的问题,具体问题描述是这样的,在游戏视频直播的时候,需要向观看直播的人提供一个可以自由聊天的功能(相当于QQ群),这就要涉及到在服务器端实现一个管理用户列表的功能,这个用户列表可能很大(最大可以容纳300万人观看和聊天)。他们的做法是在后端服务分为两层,如图:
图-1
gate用来做客户端连接和...
分类:
其他好文 时间:
2015-06-10 17:20:54
阅读次数:
165
This is a classic problem for hash table. The basic idea is to maintain a hash table for each element innums, using the element as key and its index (...
分类:
其他好文 时间:
2015-06-08 19:13:59
阅读次数:
203
HashMap 中hash table 定位算法:int hash = hash(key.hashCode()); int i = indexFor(hash, table.length); 其中indexFor和hash源码如下:/** * Applies a supplemental ...
分类:
编程语言 时间:
2015-06-08 08:22:33
阅读次数:
207
什么是容器 容器,顾名思义,是用来容放东西的场所。C++容器容放某种数据结构,以利于对数据的搜寻或排序或其他特殊目的。众所周知,常用的数据结构不外乎:数组array, 链表list, 树tree, 栈stack, 队列queue, 散列表hash table, 集合set、映射表map等等。容器便....
分类:
编程语言 时间:
2015-06-07 17:16:20
阅读次数:
113
上篇说到定时器的使用方法,这篇主要分析它的实现原理。
1.哈希链表
cocos2dx封装了一个结构体,叫做UT_hash_handle,只要在自定义的结构体中声明这个结构体变量,就实现了哈希链表,并且能使用一系列的哈希链表专用的宏。这个结构体的具体实现如下:
typedef struct UT_hash_handle {
struct UT_hash_table *tbl;
vo...
分类:
其他好文 时间:
2015-06-04 13:50:31
阅读次数:
296
术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为...
分类:
其他好文 时间:
2015-06-02 10:37:02
阅读次数:
114
红黑树与hash table最大的不同是,红黑树是有序结构,而hash table不是。但不是说set就不能用hash,如果只是判断set中的元素是否存在,那么hash显然更合适,因为set 的访问操作时间复杂度是log(N)的,而使用hash底层实现的hash_set是近似O(1)的。然而,set...
分类:
其他好文 时间:
2015-05-26 21:13:00
阅读次数:
218
STL仅仅规定接口和复杂度,对于详细实现不作要求。set大多以红黑树实现,但STL在标准规格之外提供了一个所谓的hash_set,以hash table实现。hash_set的接口,hash_table都提供了,所以差点儿全部的hash_set操作都是直接调用hash_table的函数而已。除了ha...
分类:
其他好文 时间:
2015-05-17 20:14:52
阅读次数:
143
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。
JSON有两种结构:
第一种就是“名称/值”对的集合。在python中相当于字典类型,在其他语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keye...
分类:
编程语言 时间:
2015-05-12 23:08:36
阅读次数:
145