散列表
第一次見(jiàn)這三個(gè)字,還以為是什么高深的東西。嚇得我趕緊仔細(xì)研讀。
別名(散列映射,映射,字典,關(guān)聯(lián)數(shù)組)
定義:
包含額外邏輯的數(shù)據(jù)結(jié)構(gòu),使用數(shù)列函數(shù)和數(shù)組創(chuàng)建的一種數(shù)據(jù)結(jié)構(gòu)。數(shù)列函數(shù)作用是將輸入映射到數(shù)字。
散列表是鍵和值的組成。
優(yōu)點(diǎn):
1)查找速度快 (大O算法 O(1))
2)防止重復(fù)
? ? 在做映射之前,檢查當(dāng)前索引位置是否有值。如果有,就禁止插入。
3)緩存處理
? ? 加快查詢(xún)速度。
廣度優(yōu)先算法
作用:用最短步數(shù),來(lái)找到你要的值。
算法剖析:
如果我要從Tom,找到Sandy.
想象一下,第一層是Tom的朋友圈。Tom找了一圈都沒(méi)有找到,叫Sandy的人。
Tom叫他的朋友,去找下他們朋友圈,有沒(méi)有叫Sandy的人?
以此類(lèi)推,最終找到了Sandy.

代碼如下:

從標(biāo)準(zhǔn)庫(kù)中調(diào)用了deque.(雙向隊(duì)列)。不了解的朋友,自行百度下,這里不展開(kāi)說(shuō)明。
PS:
如果你閱讀之后,有所收獲。請(qǐng)記得點(diǎn)贊哦。o(* ̄︶ ̄*)o。你的支持將是我寫(xiě)作的動(dòng)力。