原貼:http://dev.csdn.net/article/47/47973.shtm
csdn - 文件中心 - 其他 標題
基於英文單詞的快速hash索引演算法。選擇自 tarkey 的 blog
關鍵字基於英文單詞的快速hash索引演算法。
出處因為有專案需要,要做乙個類似ispell的軟體,其中會產生大量的對單詞的查詢操作,於是經過一翻研究, 得出以下hash演算法,經過驗證比一般的查表的fnv hash演算法產生的分布曲線基本沒什麼兩樣,並且在大部分的不同字典下,本演算法要比查表的fnv hash演算法表現出速度更快,分布更均勻。但是因為是實驗結果,所以暫時還沒得出有效的數學推論,但是從大量的不同的字典測試資料來看,此演算法確實效率不 錯。
由於以前沒有涉及過相關的純演算法的設計,所以剛剛開始的時候,打算隨便選用一種hash,比如說用%除大質數,然後藉此搭建乙個比較強壯的測試環境,然後打算根據測試結果來改進hash演算法的模型。
最開始,我的hash函式是這樣的:
unsigned int hash_func(char *str, int len)
非常簡單,但是這是絕對不可取的,通過這個函式,我選取了乙個23w詞的字典做為測試,當hash size=1024的時候,得到了以下的圖象:
zy422
( 2005-07-02)
按最後一種演算法,
9757_101761 和 8757_101761 這兩個的字串算出的hash值怎麼是一樣的
csdn 網友
( 2004-12-07)
最後乙個演算法有問題,應該在函式開始的時候把len除以2,否則會計算兩倍於字串長度的記憶體空間
python中的英文單詞
list是乙個可變的有序表,所以,可以往list中追加元素到末尾 classmates michael bob tracy adam 也可以把元素插入到指定的位置,比如索引號為1的位置 classmates.insert 1,jack classmates michael jack bob trac...
英文單詞Advanced的意思
iamlaosong文 倉儲系統wms中有個asn的概念,asn的英文是advanced shipping notice,直譯就是提前裝運通知,又叫預期收貨通知。預期收貨通知通常被用於倉庫中的實際收貨,能減少資料輸入時間和簡化收貨流程。advanced的意思印象中就是高階的 先進的,這兒的意思是提前...
歌曲中的英文單詞
glory n.光榮,榮譽 對上帝的 贊 美 頌 壯麗 觀 輝煌,燦爛 可讚美 誇耀 的事 繁榮,昌盛 興致勃勃,得意揚揚 宗 天國的榮譽,天福 神像後的 光輪 日 月 華,日冕 the glory of the sunset 落日的壯觀 distress n.苦惱 痛苦 窮困 貧苦 危難,不幸 律...