资源简介
System.out.println(" 1. RS-Hash Function Value: " + ghl.RSHash(key));
System.out.println(" 2. JS-Hash Function Value: " + ghl.JSHash(key));
System.out.println(" 3. PJW-Hash Function Value: " + ghl.PJWHash(key));
System.out.println(" 4. ELF-Hash Function Value: " + ghl.ELFHash(key));
System.out.println(" 5. BKDR-Hash Function Value: " + ghl.BKDRHash(key));
System.out.println(" 6. SDBM-Hash Function Value: " + ghl.SDBMHash(key));
System.out.println(" 7. DJB-Hash Function Value: " + ghl.DJBHash(key));
System.out.println(" 8. DEK-Hash Function Value: " + ghl.DEKHash(key));
System.out.println(" 9. BP-Hash Function Value: " + ghl.BPHash(key));
System.out.println(" 9. FNV-Hash Function Value: " + ghl.FNVHash(key));
System.out.println("10. AP-Hash Function Value: " + ghl.APHash(key));
代码片段和文件信息
/*
**************************************************************************
* *
* General Purpose Hash Function Algorithms Library *
* *
* Author: Arash Partow - 2002 *
* URL: http://www.partow.net *
* URL: http://www.partow.net/programming/hashfunctions/index.html *
* *
* Copyright notice: *
* Free use of the General Purpose Hash Function Algorithms Library is *
* permitted under the guidelines and in accordance with the most current *
* version of the Common Public License. *
* http://www.opensource.org/licenses/cpl.php *
* *
**************************************************************************
*/
class GeneralHashFunctionLibrary
{
public long RSHash(String str)
{
int b = 378551;
int a = 63689;
long hash = 0;
for(int i = 0; i < str.length(); i++)
{
hash = hash * a + str.charAt(i);
a = a * b;
}
return hash;
}
/* End Of RS Hash Function */
public long JSHash(String str)
{
long hash = 1315423911;
for(int i = 0; i < str.length(); i++)
{
hash ^= ((hash << 5) + str.charAt(i) + (hash >> 2));
}
return hash;
}
/* End Of JS Hash Function */
public long PJWHash(String str)
{
long BitsInUnsignedInt = (long)(4 * 8);
long ThreeQuarters = (long)((BitsInUnsignedInt * 3) / 4);
long OneEighth = (long)(BitsInUnsignedInt / 8);
long HighBits = (long)(0xFFFFFFFF) << (BitsInUnsignedInt - OneEighth);
long hash = 0;
long test = 0;
for(int i = 0; i < str.length(); i++)
{
hash = (hash << OneEighth) + str.charAt(i);
if((test = hash & HighBits) != 0)
{
hash = (( hash ^ (test >> ThreeQuarters)) & (~HighBits));
}
}
return hash;
}
/* End Of P. J. Weinberger Hash Function */
public long ELFHash(String str)
{
long hash = 0;
long x = 0;
for(int i = 0; i < str.length(); i++)
{
hash = (hash << 4) + str.charAt(i);
if((x = hash & 0xF0000000L) != 0)
{
hash ^= (x >> 24);
}
hash &= ~x;
}
return hash;
}
/* End Of ELF Hash Function */
public long BKDRHash(String str)
{
long seed = 131; // 31 131 1313 13131 131313 etc..
long hash = 0;
for(int i = 0; i < str.length(); i++)
{
hash = (hash * seed)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2000-01-01 00:00 GeneralHashFunctions_-_Java\
文件 4741 2000-01-01 00:00 GeneralHashFunctions_-_Java\GeneralHashFunctionLibrary.java
文件 2632 2000-01-01 00:00 GeneralHashFunctions_-_Java\GeneralHashTest.java
文件 695 2000-01-01 00:00 GeneralHashFunctions_-_Java\Makefile
相关资源
- java将bmp格式文件转换成jpg
- 中信Java笔试题中信Java笔试题
- 可靠UDP传输(java)
- 一个简单JAVA+SQL的库存管理系统
- Java记事本-Java程序设计作业
- 合肥工业大学Java实验源代码
- EclipseIDEforJavaEEDevelopers百度云地址.t
- 基于Java+sql教师信息管理系统课设报告
- java实现文件复制
- 合工大java程序设计实验,货物管理系
- Java学生成绩管理系统源码.txt
- 分数计算器界面设计
- java电子相册
- java实验七
- 无线温湿度传感器上位机JAVA代码
- ssm框架开发北大青鸟超市后台管理系
- Java_OO作业:简单多项式导函数的求解
- 基于Java打砖块小游戏
- 模拟龟兔赛跑程序
- javax.annotation-api-1.3.jar
- Java+mysql通讯录信息的增删改查
- Java 2实用教程第五版张跃平例题代码
- Java图形用户界面的简易计算器
- jsoup-1.7.3.jar
- java实现docx文档在线编辑docx转html,
- 超市进销存管理系统-学校实训
- 成绩的查询和排序功能实现 java实现
- 山东大学 大数据实验二 倒排索引算法
- java版本贪吃蛇
- shiro-all-1.4.0.jar
评论
共有 条评论