哈希表基礎(chǔ)理論
1.基礎(chǔ)知識(shí)
解決的問題:快速判斷元素是否在集合中出現(xiàn)過
犧牲了空間換取了時(shí)間白修,因?yàn)槲覀円褂妙~外的數(shù)組捏肢,set或者是map來存放數(shù)據(jù)滋捶,才能實(shí)現(xiàn)快速的查找盒粮。
1)哈希索引是有一定范圍的,當(dāng)集合元素超過設(shè)定的數(shù)目時(shí)嵌巷,會(huì)產(chǎn)生哈希碰撞萄凤。
2)哈希碰撞:兩個(gè)或多個(gè)元素連接到同一索引。->解決方法:拉鏈法和線性探測(cè)法搪哪。
3)拉鏈法:
4)線性探測(cè)法(要保證tableSize大于dataSize):需要依靠哈希表中的空位來解決碰撞問題靡努。
2.常見的哈希結(jié)構(gòu)
? ??數(shù)組
????set (集合)
????map(映射)
242.有效的字母異位詞
輸出結(jié)果中的每個(gè)元素一定是唯一的,也就是說輸出的結(jié)果的去重的晓折, 同時(shí)可以不考慮輸出結(jié)果的順序惑朦。
跟著寫了一遍,不難漓概。