乘法hash:这类hash函数利用了乘法的不相关性int Hash(char *str){ int seed = 131 , value=0; while(*str != '\0'){ value = value*seed+(*str++); } return value&0x7fffffff;}这...
分类:
其他好文 时间:
2015-04-13 01:37:11
阅读次数:
128
之前的一篇笔记曾分析过,Go的map在底层是用hashmap实现的。由于高效的hash函数肯定不是对key做顺序散列的,所以,与其它语言实现的hashmap类似,在使用Go语言map过程中,key-value的插入顺序与遍历map时key的访问顺序是不相同的。熟悉hashmap的同学对这个情况应该非常清楚。
所以,本文要提到的肯定不是这个,而是一个比较让人惊奇的情况,下面开始说明。
1. 通过...
分类:
其他好文 时间:
2015-03-31 16:11:21
阅读次数:
494
查找的过程为给定值依次和关键字集合中各个关键字进行比较;查找的效率取决于和给定值进行比较的关键字个数;哈希函数: f(key) = L[(ord(第一字母)-ord(‘A’)+1)/2] 该例子可见: 1、哈希(Hash)函数是一个映像,即:将关键字的集合映射到某个地址集合上,它的设置很灵活,...
分类:
其他好文 时间:
2015-03-30 22:54:20
阅读次数:
151
1.哈希(Hash)函数 如果能在关键字与记录保存的位置之间建立一种联系,则可以不经过比较,直接对关键字进行计算得出记录保存的位置,再到相应位置去读取数据即可。将这种关键字与记录保存位置之间的对应关系称为哈希(Hash)函数,将按这种方式建立的表称为哈希表。2.哈希表的基本思想是:以线性表中每个元....
分类:
其他好文 时间:
2015-03-17 11:57:07
阅读次数:
163
题目:给你一个小写字母组成大的串和一个整数n,找到里面长度为n出现最频繁的子串。
分析:字符串、hash表、字典树。这里使用hash函数求解,只做一次扫描即可。
说明:如果频率相同输出字典序最小的。
#include
#include
#include
#include
char subs[15],buf[1000001];
char *strsub(char *str, int ...
分类:
其他好文 时间:
2015-03-13 18:46:34
阅读次数:
151
题目:给你一个n*n的表格,两个人轮流进行操作,每次在一个位置放上或者拿下一个棋子;
如果某一状态,之前出现过,则对方获胜,问谁获胜,如果没人获胜,输出Draw。
分析:DS,数据结构,hash函数,状态压缩。
将每一行存到一个位中,用一个一维数组表示一个状态,然后利用hash表存储查找即可。
说明:注意旋转后的状态认为是相同的。
#inc...
分类:
其他好文 时间:
2015-03-11 23:31:51
阅读次数:
410
1、定义:Hash表是一种重要的数据结构。它通过将关键字通过hash函数映射到一个内存区,通过关键字就可以直接访问该节点的值。其查找的时间复杂度为O(1)Hash表也叫做散列表。它通过将关键字的值(key)通过hash函数映射到内存区中,然后在响应的内存区中可以存入相应的值(value),也就是我们...
分类:
其他好文 时间:
2015-03-10 21:11:45
阅读次数:
110
PHP中使用最多的非Array莫属了,那Array是如何实现的?在PHP内部Array通过一个hashtable来实现,其中使用链接法解决hash冲突的问题,这样最坏情况下,查找Array元素的复杂度为O(N),最好则为1.而其计算字符串hash值的方法如下,将源码摘出来以供查备:ps:对于以下函数...
分类:
Web程序 时间:
2015-03-06 18:40:09
阅读次数:
184
1.HashMap的内部实现机制HashMap是对数据结构中哈希表(Hash Table)的实现,Hash表又叫散列表。Hash表是根据关键码Key来访问其对应的值Value的数据结构,它通过一个映射函数把关键码映射到表中一个位置来访问该位置的值,从而加快查找的速度。这个映射函数叫做Hash函数,存...
分类:
其他好文 时间:
2015-03-05 23:41:49
阅读次数:
159
题目链接:http://poj.org/problem?id=1077题目描述:民间流传的推15游戏,不过这里简化为3*3,也就是八数码问题,‘x’表示空位。与AOJ0121的“Seven Puzzle”类似。思路:没什么特别的,构造字符串队列,爆搜一下。注意Hash函数,哈得好就哈哈,哈得不好就只...
分类:
其他好文 时间:
2015-02-24 18:42:15
阅读次数:
291