那種Hash演算法是最好的?

2021-06-18 11:19:12 字數 396 閱讀 3954

cityhash和spookyhash輸出不僅僅有64位,但是對於乙個hashtable來說,32位的輸出已經足夠了。其他應用有可能需要128位或者256位。

假如你使用32位,murmurhash 看起來是肯定是最好的,因為他是唯一乙個速度優於lookup3的。32位的機器可能和執行city和spooky,但是他更慢,因為64位的與之競爭。

在乙個64位的機器上,很難說那個最好,沒有更近一步的標準。我自己更傾向於spooky而不是city因為city 依賴crc32指令加速,crc32不是所有平台都支援。

結論,murmurhash依然開起來是最好的選擇,假如你需要32位或者對其。cityhash和spookyhash看起來更快在在64位機器上。但是我認為他們針對於64位平台,因為我不知道其他64位平台是否允許未對齊的讀取。

什麼是Hash演算法

hash 雜湊 本意是混雜 拼湊 重新表述。hash演算法又叫雜湊演算法 雜湊函式。它是一種單向密碼體制,即乙個從明文到密文的不可逆的對映,只有加密過程,沒有解密過程。同時hash函式可以將任意長度的輸入得到固定長度的輸出。hash函式這種單向特徵和固定輸出資料長度的特徵使它可以生成訊息或者資料。h...

Service的是那種模式

android 中service物件的應用型別 1 繫結模式service 2 混合模式service 3 啟動模式service 一 繫結模式 1.何為繫結模式service?在android中繫結模式的service是通過bindservice方法 實現與service的繫結的,繫結模式serv...

秒懂Hash演算法(一) 什麼是Hash

hash函式 在一般的線性表 樹結構中,資料的儲存位置是隨機的,不像陣列可以通過索引能一步查詢到目標元素。為了能快速地在沒有索引之類的結構中找到目標元素,需要為儲存位址和值之間做一種對映關係h key 這個h就是雜湊函式,用公式表示 h key addr h 雜湊函式 key 關鍵字,用來唯一區分物...