采銅

廣度優(yōu)先搜索(BreadthFirstSearch,BFS)是計算機(jī)算法領(lǐng)域中的一個概念,如果我們要從零開始掌握一個新領(lǐng)域的知識,就可以采用廣度優(yōu)先搜索的策略。
先簡單介紹一下什么是廣度優(yōu)先搜索。假設(shè)下圖是由若干個知識聯(lián)結(jié)點組成的一棵“樹”,假設(shè)我們要走遍這棵樹的每一個聯(lián)結(jié)點,起點是頂端的那個0,可以叫它“根結(jié)點”。我們可以按照什么樣的路線去走呢?

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