哈希表是如何把數(shù)據(jù)存儲(chǔ)到表中的
哈希表(Hash table废累,也叫散列表)邓梅,是根據(jù)關(guān)鍵碼值(Key value)而直接進(jìn)行訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)。也就是說(shuō)邑滨,它通過(guò)把關(guān)鍵碼值映射到表中一個(gè)位置來(lái)訪問(wèn)記錄日缨,以加快查找的速度。這個(gè)映射函數(shù)叫做散列函數(shù)掖看,存放記錄的數(shù)組叫做散列表匣距。
設(shè)要存的數(shù)據(jù)如下格式:
姓名 學(xué)號(hào) 成績(jī)
劉三 2322232 89
創(chuàng)建空的哈希表。
例:以姓名為key哎壳,用哈希函數(shù)得出key的哈希值作為該key所在數(shù)據(jù)存儲(chǔ)的地址毅待。
然后將該數(shù)據(jù)存到該地址。如果該地址已經(jīng)存有數(shù)據(jù)(即:不同的key得出了相同的哈希值)归榕,則用特定的沖突解決方法再計(jì)算出新的哈希值尸红,以此類推。
查找時(shí)刹泄,輸入要查詢數(shù)據(jù)的key值外里,例:王七。程序?qū)⒂?jì)算出key王七的哈希值特石,直接調(diào)出王七哈希值所在地址的數(shù)據(jù)盅蝗。節(jié)省查詢時(shí)間。
ee1161ca6782a699e98f04b59e99f748.png