孫子曰:「凡治眾如治寡,分數是也;鬥眾如鬥寡,形名是也」(《孫子兵法·兵勢篇》)。所謂「分數」,曹操注釋為:「部曲為分,什伍為數;」所謂「形名」,曹注為:「旌旗曰形,金鼓曰名。」這話的意思是:治理龐大的軍隊如同治理少量的軍隊的方法,就是按一定編制將他們組織起來,比如一軍分三師、一師分三旅、一旅分三團,直至一排分三班;讓龐大軍隊像小隊人馬一樣步調一致、聽從指揮的方法,就是規定出通訊工具及其所表示指揮訊號,這樣指揮起來就有章法、不紊亂,比如「令士兵望旌旗之形而前卻,聽金鼓之號而行止」。「治眾如治寡」,這是孫子提出的乙個方**思想和一種管理學思想。
我們從大科學家牛頓的一件軼事說起。經典力學的創立者牛頓有一次正在作科學研究時,不慎將一枚小針掉在地上。他俯下身子四處張望,卻始終找不到那枚小針。牛頓到底不愧為大科學家,他終於想出了乙個好辦法。他找來一桿尺和一支粉筆,在他的工作室地上劃上整整齊齊的方格。然後,他蹲在地下,從上到下、從左到右地檢查乙個乙個的方格。只要檢查後沒有,就在那方格中作乙個記號。於是他很快就找到了那枚針。這是很典型的「治眾如治寡」。這種方法,用現在的術語來說,就是變無序為有序。乙個千頭萬緒、很複雜紛繁的問題,把握起來十分困難,你一旦把它序列化,解決起來就相當容易了。
比如外地人到武漢要找乙個具體的位址就十分困難,找著找著可能就迷失了方向。如果您找一張武漢地圖就可以發現:武漢分為三鎮,三鎮中街道最雜最多的是漢口;漢口大致為一長方形,其中長一些的東西向道路主要有四條,這四條街道從南到北依次為沿江大道、中山大道、解放大道、建設大道(即新開闢的四幹道);與這四條主幹道平行、夾在其中的稱街,如漢正街、長堤街、花樓街、勝利街;而勾通四條幹道、與之垂直的一般稱路,如江漢路、民生路、武聖路……把握了這一些,您就可以很快找到那個位址了。
有人寫起文章來很容易,很豐富複雜的內容,他卻可以下筆千言,倚馬可待;有人感到寫文章極難,本來很簡單的想法,他卻愁眉不展、下不了筆。其原因是前者「治眾如治寡」,後者「治寡如治眾」。會寫文章的人,一般都會確立文章的核心,然後圍繞核心寫乙個大綱,然後圍繞每一綱寫乙個細綱,然後將每一條細綱寫成一句一句的話。提綱挈領的工作也許寫成文字,也許只打腹稿。但這個變無序為有序的過程倒是必定會有的。如果我們硬性將其程式化,那麼所謂文章只是:首先寫一句;其次圍繞這一句寫三句;再次圍繞這三句中的每一句寫三句;又次圍繞這九句中的每一句寫三句……如此這般,文章讜寫成了。當然,我這麼說只是極而言之,且將其模式化了。
就這麼乙個簡單至極的「治眾如治寡」的方法,卻可以運用於十分複雜的事物,並且卓有成效。我們見到大部頭的煌煌巨著,洋洋數百萬言,覺得簡直不可思議:這是怎麼寫出來的?其實僅就寫而言,無非就是上述的那樣寫出來的。更使我們驚嘆不已的是:語言是在表達一種思想,那麼這煌煌巨著所表達的博大精深的思想體系又是怎麼思考出來的呢?我猜想也無非就是像上述那樣想出來的。圍繞核心思想的方面越多,比如別人只能分出三方面,他卻分出了七個方面,這個思想體系就越博大,下設的層次越多,比如別人只能下設三層次,他卻能下設七層次,這個思想體系就精深。我這麼說絕無貶低煌煌巨著和博大精深的思想體系的意思。相反,每見到它們時我總情不自禁地發出「『高山仰止,景行行止』。雖不能至,然心嚮往之」的由衷嘆讚。這裡只是說:就像最偉大的人物也有十分平凡的一面一樣,最龐大的思想體系也有其簡單至極之處。
解決問題的策略 分而治之
乙個巨集偉的目標看上去遙不可及,這怎麼可能做成呢?但是你把這些目標分解成乙個乙個的小目標,小目標再往下分解,分解到最後,分解成細枝末節時你會發現,這事其實是可以做的。這個做成了再往下走一步,做更大點的事,最後不知不覺,你可能把這巨集偉的目標就做成了。分治法步驟 1 分解,將要解決的問題劃分成若干規模...
遞迴策略(減而治之和分而治之)
遞迴演算法是把問題轉化為規模縮小了的同類問題的子問題。然後遞迴呼叫函式 或過程 來表示問題的解。接下來,我們將通過同乙個問題來分析兩種策略。問題 計算任意n個整數之和 求解乙個大規模的問題,可以將其劃分為兩個子問題,其一是平凡問題,另乙個規模縮減。由子問題的解,得到原問題的解。int sum int...
分而治之的思想
分治 divide and conquer 是一種演算法正規化,也是一種解決問題的思想。步驟如下 1.分解 divide 將問題分解為同一型別的子問題 2.治理 conquer 遞迴地解決子問題 3.合併 combine 合併子問題的答案,得出原問題的答案。任何乙個可以用計算機求解的問題,所需的計算...