[問題] STL內有hash table嗎?

看板C_and_CPP (C/C++)作者 (就做吧)時間16年前 (2009/05/15 13:27), 編輯推噓4(409)
留言13則, 8人參與, 最新討論串1/2 (看更多)
想請問C++的STL內,有hash table可以直接用嗎? 我查了一下,似乎map用法很像hash table 存入的方式也是給予key跟value 搜尋時,只要給予key就能找到指定的value 所以用map來實現hash table即可? 或著是STL內本來就有hash table可用呢? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.196.8

05/15 13:28, , 1F
map 沒有規定要怎麼實作, 只有存取方式
05/15 13:28, 1F

05/15 13:28, , 2F
如果那方式符合你需求就用就好啦~
05/15 13:28, 2F

05/15 13:30, , 3F
那所以真的沒有hash table? 那用map來實現效率會較差嗎?
05/15 13:30, 3F

05/15 13:38, , 4F
map是ordered,要hash可以用boost的unordered map
05/15 13:38, 4F

05/15 13:39, , 5F
map在資料量大的時候會比較慢
05/15 13:39, 5F

05/15 14:51, , 6F
有的在ext裡頭...
05/15 14:51, 6F

05/15 14:56, , 7F
#include<tr1/unordered_map>
05/15 14:56, 7F

05/15 16:31, , 8F
我覺得你真的用 map 覺得慢才想 hash map 吧
05/15 16:31, 8F

05/15 16:32, , 9F
map 在大部份使用當中, 已經夠快有餘了
05/15 16:32, 9F

05/15 19:59, , 10F
如果大約有一兩百萬筆要丟,用unorder的比較好囉?
05/15 19:59, 10F

05/15 20:01, , 11F
另外請問hash_map跟map差異大概是什麼?
05/15 20:01, 11F

05/15 21:02, , 12F
其實我很建議你自己寫寫看 實際上去測試它才知道
05/15 21:02, 12F

05/16 06:26, , 13F
推樓上,然後應寫介面包裝實作,實作可換map,hash_map,etc
05/16 06:26, 13F
文章代碼(AID): #1A3FqtbO (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1A3FqtbO (C_and_CPP)