采銅

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

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