一个hash算法的实现 http://www.cublog.cn/u/12592/index.html * Copyright 2006 David Crawshaw, released under the new BSD license. * Version 2, from http://www.zentus.com/c/hash.html */ #include #include #include #include "hash.h" /* Table is sized by primes to minimise clustering. See: http://planetmath.org/encyclopedia/GoodhashTablePrimes.html */ static const unsigned int sizes[] = {...
标 题: 【原创】几个标准hash算法的说明及实现(一) 作 者: lotusroots 时 间: 2005-11-01,13:45 链 接: http://bbs.pediy.com/showthread.php?t=18092 作者:冲出宇宙 说明:作者水平所限,恐怕错误比较多,请兄弟们多多包涵。并提出指正。 昨天刚在这里发了一个帖子,今天就发现被转移到其他地方去了。思考之后,决定把自己写的几个标准的hash函数代码和说明发布到这里来。这下不会把我的东西转移了吧? 首先看看美国的FIPS下的...
Netfilter的连接跟踪表,是通过一个hash表来维护的,其首先把一个数据包根据来源/端口/协议转换成一个"tuple",然后根据这个"tuple"来计算hash值: [code]static u_int32_t hash_conntrack(const struct ip_conntrack_tuple *tuple) { #if 0 dump_tuple(tuple); #endif return (jhash_3words(tuple->src.ip, (tuple->dst.ip ^ tuple->dst.protonum), (tuple->src.u.all | (tuple->d...
函数原型 unsigned int find_index(char* c);
假设存在一哈希表 vector
字符串hash算法比较 链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但hash链表查找的时间效率为O(1)。设计高效算法往往需要使用hash链表,常数级的查找速度是任何别的算法无法比拟的,hash链表的构造和冲突的不同实现方法对效率当然有一定的影响,然而hash函数是hash链表最核心的部分,本文尝试分析一些经典软件中使用到的字符串hash函数在执行效率、离散性、空间利用率等方面的性能问题。 1 概述 链表查找的时间效...
字符串hash算法比较 1 概述 链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但hash链表查找的时间效率为O(1)。设计高效算法往往需要使用hash链表,常数级的查找速度是任何别的算法无法比拟的,hash链表的构造和冲突的不同实现方法对效率当然有一定的影响,然 而hash函数是hash链表最核心的部分,本文尝试分析一些经典软件中使用到的字符串hash函数在执行效率、离散性、空间利用率等方面的性能问题。 2 经典字...