采銅
廣度優(yōu)先搜索(BreadthFirstSearch,BFS)是計(jì)算機(jī)算法領(lǐng)域中的一個(gè)概念,如果我們要從零開(kāi)始掌握一個(gè)新領(lǐng)域的知識(shí),就可以采用廣度優(yōu)先搜索的策略。
先簡(jiǎn)單介紹一下什么是廣度優(yōu)先搜索。假設(shè)下圖是由若干個(gè)知識(shí)聯(lián)結(jié)點(diǎn)組成的一棵“樹(shù)”,假設(shè)我們要走遍這棵樹(shù)的每一個(gè)聯(lián)結(jié)點(diǎn),起點(diǎn)是頂端的那個(gè)0,可以叫它“根結(jié)點(diǎn)”。我們可以按照什么樣的路線去走呢?
第一步是0這個(gè)聯(lián)結(jié)點(diǎn),然后走跟0聯(lián)結(jié)點(diǎn)直接相鄰的所有聯(lián)結(jié)點(diǎn)(假設(shè)按照從左往右的順序),所以路線就形成了0、1、2、3四步,這意味著從0聯(lián)結(jié)點(diǎn)出發(fā)的三個(gè)分支都會(huì)先涉及,這就是“廣度優(yōu)先”的意思。接著依次再走跟1、2、3這三個(gè)聯(lián)結(jié)點(diǎn)直接相鄰的幾個(gè)聯(lián)結(jié)點(diǎn),于是路線就變成了0、1、2、3、4、5、6、7、8、9、10、11、12……
跟廣度優(yōu)先搜索相對(duì)的是深度優(yōu)先搜索(DepthFirstSearch,DFS),后者的意思是先走完一個(gè)分支的所有聯(lián)結(jié)點(diǎn),再走下一個(gè)分支,所以是“深度優(yōu)先”。同樣是這個(gè)圖,深度優(yōu)先搜索的走法是先走0、1、4、5、6,再走2、7、8、9,再走3、10、11、12。
從這兩種方式,看我們學(xué)習(xí)知識(shí)的過(guò)程,是很有意思的。跟廣度優(yōu)先搜索相對(duì)應(yīng)的學(xué)習(xí)過(guò)程,是先要對(duì)這個(gè)領(lǐng)域的所有分支主題做一個(gè)概覽,了解每個(gè)分支大致是什么樣的,然后再具體一點(diǎn),從一個(gè)分支出發(fā),去了解這個(gè)分支之下有什么知識(shí),然后再跳到另一個(gè)分支去了解……這是一個(gè)逐層深入的過(guò)程,早期學(xué)得是比較概括的,慢慢越來(lái)越具體、專門(mén)。而深度優(yōu)先搜索對(duì)應(yīng)的學(xué)習(xí)過(guò)程則是先把這個(gè)領(lǐng)域中的某一塊“吃透”,再去學(xué)下一塊內(nèi)容,每一個(gè)階段都學(xué)得比較深,是一個(gè)從深到深的過(guò)程。
我們多數(shù)人的學(xué)習(xí)經(jīng)驗(yàn),更習(xí)慣于后者,也就是先吃透一小塊,再接著學(xué)下一階段。這種方式好處很明顯,就是穩(wěn)扎穩(wěn)打,但是也有壞處。
首先,這樣學(xué)會(huì)缺少“大局觀”。在沒(méi)有整體了解該領(lǐng)域知識(shí)的情況下,貿(mào)然深入局部,可能導(dǎo)致眼界狹窄,一葉障目不見(jiàn)泰山。許多人學(xué)東西,容易鉆牛角尖,往往就是這個(gè)原因。
其次,較早地深入一個(gè)領(lǐng)域,可能會(huì)在準(zhǔn)備不充分的情況下“啃到硬骨頭”,面臨無(wú)法克服的困難和挑戰(zhàn),后續(xù)便可能選擇放棄。打個(gè)比方,一個(gè)人拿了一本有1萬(wàn)詞匯量的英語(yǔ)單詞書(shū),雄心勃勃想背完,但可能背到“B”已經(jīng)力不從心了,因?yàn)樗龅搅颂噙^(guò)于冷門(mén)和生僻的詞匯。
美國(guó)心理學(xué)家瑞格盧斯提出的精細(xì)加工理論,更偏向于廣度優(yōu)先搜索的學(xué)習(xí)方式。他認(rèn)為,學(xué)習(xí)應(yīng)該是一個(gè)逐步精細(xì)化的過(guò)程,一開(kāi)始只要了解這個(gè)領(lǐng)域最簡(jiǎn)單的大概,然后再具體和深入一點(diǎn),隨后再進(jìn)一步地具體和深入一點(diǎn)……這個(gè)過(guò)程有點(diǎn)像畫(huà)素描,第一步是畫(huà)一個(gè)大致的、粗略的形狀,越是細(xì)節(jié)的處理越是放在后期。
(摘自《精進(jìn)3:找到你的潛在生態(tài)位》,江蘇鳳凰文藝出版社,魏克圖)