×òÌìÔÚÓôúÂëʵÏÖÒ»¸öhashËã·¨µÄʱºò£¬Í»È»Ïëµ½£¬ÎªÊ²Ã´³ýÁôÓàÊý·¨ÖгýÊýÒªÓÃÖÊÊý£¿ËäÈ»¸÷Öֽ̿ÆÊéÉ϶¼ËµÖÊÊý¿ÉÒÔ¼õÉÙµØÖ·³åÍ»£¬µ«ÎªÊ²Ã´»áÕâÑù£¿ÎÒдÁËһС¶Î´úÂ룬²âÊÔÁËһϣ¬½á¹ûÊdzýÊýÊDz»ÊÇÖÊÊý¶¼Ã»¹ØÏµ¡£Îª¼òµ¥£¬Í°ÊýºÍ³ýÊýÊÇÒ»ÑùµÄ¡£ºÜÀ§»ó£¬Çë¸ßÊÖÖ¸µã¡£
#include
by bluetune - C/C++ - 2006-10-18 11:49:00 ÔĶÁ£¨2854£© »Ø¸´£¨4£©
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
ÎÒÒª×öÒ»¸öͨ¹ýÓû§Ãûusername×öhash£¬½¨Á¢3²ãĿ¼ºÍÎļþÀ´´æ·ÅuserÐÅÏ¢£¬ÇëÎʸ÷λÊÇ·ñÓÐÒ»¸öºÃµÄËã·¨Äܽ«username¾ùÔȵķÖÅäµ½¸ö×ÓĿ¼À
×Ö·û´®hashËã·¨±È½Ï Á´±í²éÕÒµÄʱ¼äЧÂÊΪO(N)£¬¶þ·Ö·¨Îªlog2N£¬B+ TreeΪlog2N£¬µ«hashÁ´±í²éÕÒµÄʱ¼äЧÂÊΪO(1)¡£Éè¼Æ¸ßЧËã·¨ÍùÍùÐèҪʹÓÃhashÁ´±í£¬³£Êý¼¶µÄ²éÕÒËÙ¶ÈÊÇÈκαðµÄËã·¨ÎÞ·¨±ÈÄâµÄ£¬hashÁ´±íµÄ¹¹ÔìºÍ³åÍ»µÄ²»Í¬ÊµÏÖ·½·¨¶ÔЧÂʵ±È»ÓÐÒ»¶¨µÄÓ°Ï죬Ȼ¶øhashº¯ÊýÊÇhashÁ´±í×îºËÐĵIJ¿·Ö£¬±¾Îij¢ÊÔ·ÖÎöһЩ¾µäÈí¼þÖÐʹÓõ½µÄ×Ö·û´®hashº¯ÊýÔÚÖ´ÐÐЧÂÊ¡¢ÀëÉ¢ÐÔ¡¢¿Õ¼äÀûÓÃÂʵȷ½ÃæµÄÐÔÄÜÎÊÌâ¡£ 1 ¸ÅÊö Á´±í²éÕÒµÄʱ¼äЧ...
×Ö·û´®hashËã·¨±È½Ï 1 ¸ÅÊö Á´±í²éÕÒµÄʱ¼äЧÂÊΪO(N)£¬¶þ·Ö·¨Îªlog2N£¬B+ TreeΪlog2N£¬µ«hashÁ´±í²éÕÒµÄʱ¼äЧÂÊΪO(1)¡£Éè¼Æ¸ßЧËã·¨ÍùÍùÐèҪʹÓÃhashÁ´±í£¬³£Êý¼¶µÄ²éÕÒËÙ¶ÈÊÇÈκαðµÄËã·¨ÎÞ·¨±ÈÄâµÄ£¬hashÁ´±íµÄ¹¹ÔìºÍ³åÍ»µÄ²»Í¬ÊµÏÖ·½·¨¶ÔЧÂʵ±È»ÓÐÒ»¶¨µÄÓ°Ï죬Ȼ ¶øhashº¯ÊýÊÇhashÁ´±í×îºËÐĵIJ¿·Ö£¬±¾Îij¢ÊÔ·ÖÎöһЩ¾µäÈí¼þÖÐʹÓõ½µÄ×Ö·û´®hashº¯ÊýÔÚÖ´ÐÐЧÂÊ¡¢ÀëÉ¢ÐÔ¡¢¿Õ¼äÀûÓÃÂʵȷ½ÃæµÄÐÔÄÜÎÊÌâ¡£ 2 ¾µä×Ö...
Ò»¸ö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[] = {...
ÎÒÓÐÒ»¸öÎı¾Îļþ,ÀïÃæ´æµØµç»°ºÅÂë,Ò»ÐдæÒ»¸ö,\N»»ÐÐ Èç 13789022321 13589022325 13689022323 15989022323 15989022323 13589022325 13689022323 ÀïÃæ´æÔÚÏàͬµÄºÅÂë ÎÒÒªÌß³öÏàͬµÄºÅÂë,Ö»±£ÁôÒ»¸ö,ÔõôдÕâ¸öËã·¨, ±È½Ï¿ìµÄËã·¨
[code] #define mix(a,b,c) \ do { \ a -= b; a -= c; a ^= (c >;>; 13); \ b -= c; b -= a; b ^= (a << 8); \ c -= a; c -= b; c ^= (b >;>; 13); \ a -= b; a -= c; a ^= (c >;>; 12); \ b -= c; b -= a; b ^= (a << 16); \ c -= a; c -= b; c ^= (b >;>; 5); \ a -= b; a -= c; a ^= (c >;>; 3); \ b -= c; b -= a; b ^= (a << 10); \ c -= a; c -= b; c ^= (b >;>; 15); \ } wh...
Çë½Ì£º Èç¹ûÓкöàµÄ×Ö·û´®£¨°üÀ¨ºº×Ö£©ÒªÈ¥Æ¥ÅäÒ»¸ö×Ö·û´®£¨¼´¼ì²éÓÐûÓÐÔÚ×Ö·û´®ÖаüÀ¨£©£¬ÎªÁËʵÏÖЧÂÊÉϵÄÌá¸ß£¬ÎÒÏëʹÓÃhash Ëã·¨£¬ÇëÎÊÓÐʲôºÃµÄ°ì·¨£¿Õâ¸öÒ²ËãÊÇÒ»ÖÖ¼ìË÷°É£¿