閱讀筆記 > 軟件開發中怎樣解決問題?

1. 理解問題,你必須理解要解決的問題

問題是什麼?條件是什麼?數據是什麼?有可能滿足條件嗎?已知條件足以確定未知嗎?已知條件是否不夠充分?是否矛盾 7是否冗餘?畫一個圖,引入恰當的符號,把條件的不同部分分解開。

2. 設計一個方案。找到已知數據和未知之間的聯繫。如果不能找出直接聯繫的話,你可能不得不考慮一些輔助問題,但最後,你應該找到一個解決方案。

以前你是否遇到過這個問題?或者是見過與它稍有不同的問題?是否知道與其相關的問題?是否知道在這個問題中有用的定理?

看着未知!努力回憶起一個有着相同或類似未知的問題。這裏有一個與此相關的你以前解決過的問題,你能利用它嗎?是能利用它的結論還是能用它的方法?是否該引入輔助要素以使這個問題可以再用?

能否重新表述一下問題?能用另外一種方式表述它嗎?返回到定義。
如果你無法解決這個問題,可以先試着解決一些別的問題,是否能想象出一個容易解決的相關問題;一個廣義些的問題或是一個更特殊的問題?一個相似的問題呢?能否解決問題的一部分呢?僅保留一部分條件,忽略其餘條件;未知可以被決定到什麼程度?會發生什麼變化?能否從數據中推導出一些有用的東西?能否找出適於確定未知的其餘數據?能否改變數據或未知?同時改變兩者呢?這樣做能否使新的未知和新的數據更接近些?是否使用了全部的數據?使用全部條件了嗎?是否考慮了這個問題的全部必要條件?

3. 執行你的計劃。

執行你解決問題的計劃,同時檢查每一步工作。你是否可以認定每一步都是正確的?你能證明這點嗎?

4. 回顧,檢查一下答案。

你能檢查一下答案嗎?能檢查一個論證嗎?能否用另外一種方法推導出答案?能否一眼就看出答案?能否在其它問題中再利用本題的答案或者結論?

摘自《代碼大全》
發佈了48 篇原創文章 · 獲贊 8 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章