ChinaUnix.net
相关文章推荐:

hash算法及其应用

我们经常使用的数的进制为“常数进制”,即始终逢p进1。例如,p进制数K可表示为 K = a0*p^0 + a1*p^1 + a2*p^2 + ... + an*p^n (其中0 <= ai <= p-1), 它可以表示任何一个自然数。 对于这种常数进制表示法,以及各种进制之间的转换大家应该是很熟悉的了,但大家可能很少听说变进制数。这里我要介绍一种特殊的变进制数,它能够被用来实现全排列的hash函数,并且该hash函数能够实现完美的防碰撞和空间利用(不会发生碰撞,且...

by tyc611 - C/C++ - 2009-04-07 13:24:02 阅读(17084) 回复(39)

相关讨论

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...

by 独孤九贱 - C/C++ - 2006-07-23 15:34:51 阅读(1530) 回复(1)

函数原型 unsigned int find_index(char* c); 假设存在一哈希表 vector hash_table[hash_LEN]; 注意形参有可能为UNICODE,此处为简单表示为字符型,要求查找速度要快,且尽量避免冲突。 如果有好的算法欢迎贴上。

by nbaloverme - C/C++ - 2005-12-09 22:28:10 阅读(2292) 回复(3)

我要做一个通过用户名username做hash,建立3层目录和文件来存放user信息,请问各位是否有一个好的算法能将username均匀的分配到个子目录里?

by genii - Java - 2004-03-24 15:28:30 阅读(1168) 回复(0)

请教各位,mysql的hash算法有几种,各适用于什么场合!谢谢!

by fisher1016 - MySQL - 2011-01-13 12:59:54 阅读(1544) 回复(0)

字符串hash算法比较 链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但hash链表查找的时间效率为O(1)。设计高效算法往往需要使用hash链表,常数级的查找速度是任何别的算法无法比拟的,hash链表的构造和冲突的不同实现方法对效率当然有一定的影响,然而hash函数是hash链表最核心的部分,本文尝试分析一些经典软件中使用到的字符串hash函数在执行效率、离散性、空间利用率等方面的性能问题。 1 概述 链表查找的时间效...

by 061107 - php文档中心 - 2007-12-27 13:22:23 阅读(919) 回复(0)

字符串hash算法比较 1 概述 链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但hash链表查找的时间效率为O(1)。设计高效算法往往需要使用hash链表,常数级的查找速度是任何别的算法无法比拟的,hash链表的构造和冲突的不同实现方法对效率当然有一定的影响,然 而hash函数是hash链表最核心的部分,本文尝试分析一些经典软件中使用到的字符串hash函数在执行效率、离散性、空间利用率等方面的性能问题。 2 经典字...

by 061107 - php文档中心 - 2007-12-27 09:16:03 阅读(713) 回复(0)

线段hash算法 线段hash算法原理是:通过hash算法把Key转换成一个int类型的数字,然后按照每次比较2个bit来定位到一个内存块。结构图如图1-1: 图1-1 图1-1中的每个节点成为bucket,而每个bucket有4个元素。我们可以使用以下结构体定义: struct bucket { int elems[4]; }; 因为每个元素可能指向下一个节点或者一个数据块,所以我们必须有个标志指定元素指向的是下一个节点还是数据块。那么,我们把bucket的定义修改成: st...

by liexusong - C/C++ - 2011-08-31 17:04:16 阅读(5942) 回复(14)

一个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[] = {...

by 061107 - php文档中心 - 2007-12-27 09:41:53 阅读(859) 回复(0)

我有一个文本文件,里面存地电话号码,一行存一个,\N换行 如 13789022321 13589022325 13689022323 15989022323 15989022323 13589022325 13689022323 里面存在相同的号码 我要踢出相同的号码,只保留一个,怎么写这个算法, 比较快的算法

by ltaotao007 - C/C++ - 2007-06-24 00:43:10 阅读(2647) 回复(3)