第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

JavaScript創(chuàng)建散列表時(shí),散列函數(shù)有什么用?

JavaScript創(chuàng)建散列表時(shí),散列函數(shù)有什么用?

慕碼人8056858 2019-03-13 21:19:03
在看 數(shù)據(jù)結(jié)構(gòu)與算法JavaScript描述 這本書(shū)時(shí)有個(gè)疑惑為什么需要散列函數(shù)來(lái)將值轉(zhuǎn)為散列值?如有個(gè)數(shù)組,如果我想通過(guò)名字快速查找在peopel數(shù)組中的位置let people = [    {name: '大傻子', tel: '138111111'},    {name: '二傻子', tel: '138222222'},    {name: '小傻子', tel: '138333333'}]let _people = 取首字母的散列函數(shù)(peopele)// 得到 // _people = {    '大': 0,    '二': 1,    '小': 2// }為什么不直接使用整個(gè)名字做散列值?
查看完整描述

4 回答

?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

擴(kuò)展性啊,擴(kuò)展性
如果又要往people里面放一個(gè)age或者addr字段的話(huà),你的_people怎么辦?
別說(shuō)約定|之類(lèi)的,那都是妖術(shù),妖術(shù)啊少年!

查看完整回答
反對(duì) 回復(fù) 2019-03-15
?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊

就算加了幾個(gè)字段,但是首字母和index對(duì)應(yīng)關(guān)系還是沒(méi)變! 還是不需要散列函數(shù)呀?


查看完整回答
反對(duì) 回復(fù) 2019-03-15
?
大話(huà)西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

首先樓主沒(méi)有明白散列函數(shù)的意義
散列函數(shù)的意義在于提高查找的效率

一段數(shù)據(jù)結(jié)構(gòu)可能很大,比如100W條數(shù)據(jù),其中以A開(kāi)頭的數(shù)據(jù)有10W條,查找Abc
如果沒(méi)有散列函數(shù),你要找到這個(gè)數(shù)據(jù),可能需要遍歷100W條數(shù)據(jù),才能找到,但是如果有散列函數(shù),
比如散列首字母,那么只要查找hash表,就可以減少查找的目標(biāo)變成10W條
那么就可以確定最多只需要遍歷這10W條數(shù)據(jù)就可以了


查看完整回答
反對(duì) 回復(fù) 2019-03-15
?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

你這里其實(shí)提了兩個(gè)問(wèn)題

散列函數(shù)有什么用?

散列函數(shù)起到一個(gè)映射(mapping 或者投映 project)的作用。試想一下,隨著開(kāi)發(fā)后面如果出現(xiàn)了處理重名的需求時(shí)候你要怎么改。用散列函數(shù)那么只需要在函數(shù)中修改一下映射關(guān)系即可。

為什么不用全名?

用全名也是可行的,它例子這里姓氏都不一樣,那么只用一個(gè)字符可以減少比較次數(shù)。(不太符合常理,個(gè)人覺(jué)得這個(gè)例子不是很好)


查看完整回答
反對(duì) 回復(fù) 2019-03-15
  • 4 回答
  • 0 關(guān)注
  • 813 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)