運算思維🧠 五步 : 第四步:演算法設計📐

演算法設計是指將一個問題⚠️轉化為一系列適當的步驟👣,以便解決問題的過程🔄。它是計算機科學🖥️中非常重要的一部分,因為它能夠幫助人們👩‍💻👨‍💻更好地理解問題🤔並提供解決方案💡。

演算法設計

演算法設計是指將一個問題轉化為一系列適當的步驟,以便解決問題的過程。它是計算機科學中非常重要的一部分,因為它能夠幫助人們更好地理解問題並提供解決方案。

演算法設計需要注意以下幾點:

  • 正確性:演算法必須解決問題的所有情況,而不僅僅是一些情況。此外,演算法的每一個步驟都必須是正確的,以確保整個演算法是正確的。
  • 效率:演算法的效率通常是設計的關鍵。設計一個高效的演算法可以大大降低執行時間,使問題的解決更快速。
  • 可讀性:演算法必須易於閱讀和理解。簡潔、清晰的設計可以讓其他人更容易理解和維護演算法。

演算法設計的過程通常包括以下步驟:

  1. 理解問題:首先,需要完全理解問題的性質和要求。
  2. 擬定解決方案:然後,需要擬定解決方案,其中包括問題的各個步驟以及演算法選擇。
  3. 實現演算法:接下來,需要使用程序語言將演算法實現為可運行的代碼。
  4. 測試和優化:最後,需要測試演算法的正確性和效率,並根據測試結果進行優化。

舉生活上的例子

以下是一些生活中的例子:

  • 烹飪:烹飪可以看作是演算法設計的一種應用。當你準備烹飪一道菜時,需要遵循一系列的步驟,包括準備食材、加熱爐灶、炒煮烤等。如果你能夠設計一個高效、正確的演算法,你的菜肴將會更加美味,並且可以在更短的時間內完成。
  • 整理物品:整理物品也是演算法設計的一種應用。例如,當你要整理一個雜亂的書桌時,可以將桌面上的物品分類、排序、儲存,以使物品更加有序並且更容易找到。
  • 計畫旅行路線:計畫旅行路線也可以看作是演算法設計的一種應用。當你要計畫一次旅行時,需要考慮許多因素,如交通、住宿、景點等,需要經過多次的嘗試和比較,找到最優的旅行路線。這就需要設計一個高效的演算法,以便在短時間內找到最優的旅行路線。

以 烹飪 舉實例

當你要烹飪一道菜時,可以使用演算法設計的思想:

  1. 理解問題:你需要先確定你要烹飪的菜肴是什麼,需要哪些食材,以及需要的烹飪步驟是什麼。
  2. 擬定解決方案:你需要將烹飪過程分成一系列步驟,例如準備食材、烹煮食材、調味等。
  3. 實現演算法:你需要將這些步驟轉化為代碼,也就是烹飪過程的步驟。

例如,烹飪炒青菜:

  1. 理解問題:炒青菜需要的食材包括青菜、蒜頭、鹽等。需要的烹飪步驟包括清洗青菜、切碎蒜頭、烹煮青菜、加入調味料等。
  2. 擬定解決方案:將烹飪過程分成以下步驟:
  3. 清洗青菜
  4. 切碎蒜頭
  5. 烹煮青菜
  6. 加入調味料
  7. 實現演算法:將這些步驟轉化為代碼,即烹飪過程的步驟:
  8. 清洗青菜:將青菜放入清水中,洗淨沙土和污垢。
  9. 切碎蒜頭:將蒜頭切成小塊。
  10. 烹煮青菜:在鍋中加入適量的水,加熱至沸騰,放入青菜,煮至青菜變色。
  11. 加入調味料:加入蒜頭和適量的鹽,翻炒至均勻。 這個演算法可以幫助你烹飪一道美味的青菜,並且在短時間內完成烹飪過程。

衍伸閱讀

  • 分解問題🔍:將一個複雜的問題分解為更小的、可管理的子問題。
  • 模式識別🔳:尋找問題的模式和規律,從而更好地理解問題。
  • 抽象化🌀:將問題抽象化成更簡單的形式,忽略細節,專注於關鍵概念。
  • 演算法設計📐:創造一個解決問題的步驟序列,並確保每個步驟都是正確的和有效的。
  • 評估和迭代🔄:評估解決方案的效果,並在需要時迭代改進解決方案。

最後📅,有本📖 關於和 LLMs 互動 (prompt)🤖的新書熱銷中🔥。

對於 prompt 📜 + 運算思維🧠有興趣的話,這裡有本書推薦給你~

本書📖 3 個重點:

  • ✔ 專注於 問題/需求 💭 的確認
  • ✔ 利用運算思維💡拆解問題及需求🧩
  • ✔ 藉由詠唱🎤 prompt 進行 AI🤖 人機協作🤝

購買連結🔗 Momo🛍️ 博客來📚 誠品📘 金石堂📖

與我一同學習📚和探索🔍!

我將帶著我的新書📖參加以下活動🎉,期待與你🙋見面🤝。

『與 AI 協同工作的未來』既 『ChatGPT來襲…』新書📚分享會

線上工作坊『詠唱(提問)協同程式工作坊』意願調查

最後,如果上述時間不克前來,或是講座及分享會的時間太短,希望能參與目標式的協同工作坊,或是有任何建議,都歡迎填寫下表。

在離開之前,記得給本📰Medium點讚👍、訂閱📩,並分享給您的朋友!

--

--

Wolke@林建宏 A Man Co-work with AI use coding tool
🤖 AI 人機協作

作為一名啟發者而存在。 -致力於分享經驗和知識,幫助開拓、行動、克服。 Badge: - LINE Expert - Google Developer Expert Books: - 應用詠唱釋放程式生產力 ... - 程式輕鬆入門到完整學習 ... Being: - 大學社群論壇