散列表
第一次見這三個字,還以為是什么高深的東西。嚇得我趕緊仔細研讀。
別名(散列映射,映射,字典,關(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)點:
1)查找速度快 (大O算法 O(1))
2)防止重復(fù)
? ? 在做映射之前,檢查當前索引位置是否有值。如果有,就禁止插入。
3)緩存處理
? ? 加快查詢速度。
廣度優(yōu)先算法
作用:用最短步數(shù),來找到你要的值。
算法剖析:
如果我要從Tom,找到Sandy.
想象一下,第一層是Tom的朋友圈。Tom找了一圈都沒有找到,叫Sandy的人。
Tom叫他的朋友,去找下他們朋友圈,有沒有叫Sandy的人?
以此類推,最終找到了Sandy.

代碼如下:

從標準庫中調(diào)用了deque.(雙向隊列)。不了解的朋友,自行百度下,這里不展開說明。
PS:
如果你閱讀之后,有所收獲。請記得點贊哦。o(* ̄︶ ̄*)o。你的支持將是我寫作的動力。