Date: Sat, 29 Dec 2007 20:50:14 +0000 (GMT) From: "Edward B. DREGER" <eddy+public+spam@noc.everquick.net> To: Garrett Cooper <youshi10@u.washington.edu> Cc: hackers@freebsd.org Subject: Re: BSD license compatible hash algorithm? Message-ID: <Pine.LNX.4.62.0712292039410.21327@pop.ict1.everquick.net> In-Reply-To: <7F9D2F63-B5E6-41DE-843A-8D673C2DC88E@u.washington.edu> References: <5950EE0C-383D-4D6B-9991-A0DEABD2ADE4@u.washington.edu> <7F9D2F63-B5E6-41DE-843A-8D673C2DC88E@u.washington.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
GC> Date: Thu, 27 Dec 2007 16:34:32 -0800 GC> From: Garrett Cooper GC> On Dec 27, 2007, at 4:30 PM, Garrett Cooper wrote: GC> GC> > Just wondering if anyone knew of a good BSD license compatible GC> > key-based hash placement / retrieval algorithm that was available GC> > anywhere. GC> GC> 1. It needs to be in C, not C++. Although I'm not directly answering your question... GC> 2. I meant hash table / bucket when I said "hash" in the subject. ...have you explored [order-preserving] minimal perfect hash functions? perfect_hash = ( hash1[x] + hash2[x] ) % entry_count ; The "trick" lies in computing hash1[] and hash2[]. A Google search for ==> chm92 (hash|hashing) <== will get you started. Eddy -- Everquick Internet - http://www.everquick.net/ A division of Brotsman & Dreger, Inc. - http://www.brotsman.com/ Bandwidth, consulting, e-commerce, hosting, and network building Phone: +1 785 865 5885 Lawrence and [inter]national Phone: +1 316 794 8922 Wichita ________________________________________________________________________ DO NOT send mail to the following addresses: davidc@brics.com -*- jfconmaapaq@intc.net -*- sam@everquick.net Sending mail to spambait addresses is a great way to get blocked. Ditto for broken OOO autoresponders and foolish AV software backscatter.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.62.0712292039410.21327>