刷題筆記:雜湊表的三種容器
阿新 • • 發佈:2022-03-28
當需要進行查詢速度優化時,就可以使用雜湊表,需要使用額外的空間儲存資料,隨後可以提高查詢效率。
常用的雜湊表資料結構有三種:陣列、集合(set)、對映(map)。
當資料量小時陣列也可以有雜湊功能:
例如統計字串中字母出現次數,可以使用 s[0]~s[25] 的陣列分別儲存字母數量。
單當資料量無法確定或較大時,就需要使用集合(set)了。
集合有三類:
首先考慮使用unordered_set,它具有資料唯一性,無序的特點。
當要求有序時,就可以使用set。它具有資料唯一性,有序的特點。
當要求有序且可重複時,就可以使用multiset,它具有可重複性,有序的特點。
當資料有 key 和 value 對應關係時,就可以使用對映(map)。
對映同樣有三種:
首先是unordered_map,它具有 key 唯一性,無序的特點。
而map,具有 key 唯一性,有序的特點。
multimap,則是具有 key 可重複性,有序的特點。