複雜簡單化,現實抽象化

2021-08-11 08:24:34 字數 873 閱讀 8408

程式設計中有一條一直被程式設計師們牢記的信條——自頂向下,逐步求精。

這八字信條雖然觀之簡單,卻是程式設計中解決難題最有效的方法,那我們今天就小小的聊一下這八個字的含義及一些應用。

與題目相對應,自頂向下,簡單來說就是將乙個龐大的程式分而治之,分成一小塊一小塊,從小塊上著手,將複雜問題簡單化,最後再由各小塊拼裝成為最後完整的大程式。

而逐步求精,就是將現實中的事物用邏輯思維使其抽象化,資料化,以達到更加利於表達的目的,使問題變的直觀,簡單。

這兩種方法,有個共同點,就是都會簡化問題,當二者疊加使用時,是不是忽然感覺以前所謂的難題變得十分清晰了?

大概講了它們的含義,我們再來點乾貨,舉些平時運用的例子。

拿楊輝三角舉例

上圖是楊輝三角的c語言**

其中的巢狀迴圈是該**的主體

外層迴圈表示層數,內層迴圈每層的的各個數字

那麼我們是如何得到這個程式的呢?這就是自頂向下的一種思維,將大的問題化為小的,有點類似數學歸納法,我們只要找到每行數字的規律,題目的難度就會下降幾個檔次。

比如楊輝三角每行的數其實就是組合數,也可以說是二項式各項的係數,知道了這點,我們再利用逐步求精的思維使其抽象化,變成直觀的算式,這樣一道看似工程量巨大的題就不攻自破了。

當然,知道這些思想和熟練運用他們還是有一定差距的,我們要成為合格的程式設計師,就應當靈活運用它們。所以我的建議是平時做題的時候,盡量先在腦子裡構建好整個程式,這樣久而久之養成習慣,乙個優秀的程式猿自然就誕生了。

複雜問題簡單化以及簡單問題複雜化

複雜問題簡單化以及簡單問題複雜化並不矛盾,而是在專案的不同階段。在專案設計階段,要考慮的是 簡單問題複雜化 說的通俗點,就是在給定需求的基礎上盡量擴充套件,考慮更多的可能,做盡可能大的設計,來確保專案需求一旦發生變更,不會影響總體框架,僅僅是 工作量的變化。在專案開發階段,就要使用 複雜問題簡單化 ...

學會把複雜問題簡單化

1 在一家公司裡,有這樣一條標語 複雜的事情簡單做,簡單的事情認真做。世界是豐富複雜的,處理問題的方式就像掌心的紋,但不外乎有兩種 一種是把複雜事情 簡單化 另一種則是把簡單事情 複雜化 有智者說 天下大事,必做於易 天下難事,必做於細。當我們能夠把複雜的問題從簡單的角度看清楚,這實際上就反映了一種...

ERP的簡單化

炒蛋需要6個雞蛋,蛋花湯需要4個雞蛋 共用物料 開啟冰箱一看 庫房 神州數碼企業管理系統使用者俱樂部3 6 q0 t7 d 只剩下2個雞蛋 缺料 來到自由市場,妻子 請問雞蛋怎麼賣?採購詢價 神州數碼管理系統使用者俱樂部,dcms,erp,易飛erp,易拓erp,易助erp,易飛普及,oa高階,sa...