探討演算法設計之道
前言
比起解出題目,怎麼解出題目是更加重要的問題,也是讓我們真正具備解決問題能力的關鍵,古今中外有許多思想家都曾探究這個問題,例如笛卡兒留下了未完成的「指導理智的原則」、萊布尼茲曾經想寫一本關於「發明的藝術」,他們都想要探究發明的過程是什麼樣的心智活動。
Computational Thinking 核心步驟
拆解 (Decomposition)
將一個任務或問題拆解成數個步驟或部分。Breaking a task or problem into steps or parts.
找出規律 (Pattern Recognition)
預測問題的規律,並找出模式做測試。Make predictions and models to test.
歸納與抽象化 (Pattern Generalization and Abstraction)
找出最主要導致此模式的原則或因素。Discover the laws, or principles that cause these patterns.
設計演算法 (Algorithm Design)
設計出能夠解決類似問題並且能夠被重複執行的指令流程。Develop the instructions to solve similar problems and repeat the process.
Ongoing
看人家講可能可以幫助自己學習其他人的思路。
Reference
書
網頁
- 演算法簡介
- 運算思惟其實一點也不神祕(上集)(下集)
- 追求神乎其技的程式設計之道(一)