對map和hash_map的一點總結

    map內部實現是依據紅黑樹的,查詢的時間複雜度爲log(n)。hash_map的內部實現是哈希表,查詢的時間複雜度爲n(1)。hash可以看成用空間複雜度換取了時間複雜度。

    在hash_map中,每個key都對應於一個桶,用來容納value值。爲了實現hash_map,我們需要定義哈希函數和等於比較函數。在沒有提供這些函數的時候會用一個缺省的。

   有很重要的一點是hash_map需要定義的是等於函數,而map需要定義的是比較大小的函數,這樣是和他們的特點相對應的,hash_map是基於哈希的思想,它只要看看置頂的鍵值有沒有存在,用等於函數就可以實現。map是基於紅黑樹的,用比較函數比較大小。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章