第9章 哈希表 9.1-9.3
內(nèi)容來自尚硅谷Java數(shù)據(jù)結(jié)構(gòu)與java算法(Java數(shù)據(jù)結(jié)構(gòu)與算法)_嗶哩嗶哩_bilibili
寫在前面:本文內(nèi)容大致和原視頻內(nèi)老師的筆記內(nèi)容相同,會(huì)偶爾插入自己的注釋和理解,盡量會(huì)完成作業(yè)
本次作業(yè)稍有復(fù)雜(個(gè)人認(rèn)為[del]沒辦法,我太菜了[/del])
兩個(gè)作業(yè)
1是刪除節(jié)點(diǎn),2是添加時(shí)按id大小添加,都完成了,按照大小添加那里,關(guān)于頭節(jié)點(diǎn)的內(nèi)容有點(diǎn)繞
9.1哈希表(散列)-Google上機(jī)題
1.????? 看一個(gè)實(shí)際需求,google公司的一個(gè)上機(jī)題:
2.????? 有一個(gè)公司,當(dāng)有新的員工來報(bào)道時(shí),要求將該員工的信息加入(id,性別,年齡,住址..),當(dāng)輸入該員工的id時(shí),要求查找到該員工的所有信息.
3.????? 要求:不使用數(shù)據(jù)庫,盡量節(jié)省內(nèi)存,速度越快越好→>哈希表(散列)
9.2哈希表的基本介紹
散列表(Hash table,也叫哈希表),是根據(jù)關(guān)鍵碼值(Key value)而直接進(jìn)行訪問的數(shù)據(jù)結(jié)構(gòu)。也就是說,它通過把關(guān)鍵碼值映射到表中一個(gè)位置來訪問記錄,以加快查找的速度。這個(gè)映射函數(shù)叫做散列函數(shù),存放記錄的數(shù)組叫做散列表。


9.3google公司的一個(gè)上機(jī)題
有一個(gè)公司,當(dāng)有新的員工來報(bào)道時(shí),要求將該員工的信息加入(id,性別,年齡,住址..),當(dāng)輸入該員工的id時(shí),要求查找到該員工的所有信息.
要求:
1)不使用數(shù)據(jù)庫,速度越快越好=>哈希表(散列)
2)添加時(shí),保證按照id從低到高插入[課后思考:如果id不是從低到高插入,但要求各條鏈表仍是從低到高,怎么解決?]
3)使用鏈表來實(shí)現(xiàn)哈希表,該鏈表不帶表頭[即:鏈表的第一個(gè)結(jié)點(diǎn)就存放雇員信息]
4)思路分析并畫出示意圖

5)代碼實(shí)現(xiàn)
再一次的見識(shí)到了自己有多菜,要是韓老師看到這篇文章怕是要血壓飆升,然后隔著屏幕錘爆我的*頭