[問題] Hash function

看板C_and_CPP作者 (Veck)時間12年前 (2012/05/27 20:37), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) 請問有人用過 hash 33 的 hash function嗎? 又稱做 DJBX 33 Google到的資料大部分是這樣的: unsigned long hashFun(char *key) { unsigned value = 0; //也有 = 5381 的 int i = 0; for(i=0; i<strlen(key); i++) value = value * 33 + key[i]; return value; } 但是這樣子算出來的 value 很大,至少有六位數以上 想請問這樣子表示我的 hash table 應該要準備多少呢??? 還是有另外的使用方式? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.242.16.38

05/27 22:20, , 1F
用 map 吧
05/27 22:20, 1F

05/28 00:49, , 2F
stl不是都有能用的嗎?
05/28 00:49, 2F

05/28 01:02, , 3F
value %= table_size;
05/28 01:02, 3F
文章代碼(AID): #1FmY0U5c (C_and_CPP)