วางแผนให้เป๊ะ แก้ปัญหาได้ชัวร์ ทีละสเต็ป!
มาถึงเสาหลักสุดท้ายกันแล้วครับ! หลังจากที่เราเข้าใจปัญหา แยกส่วนประกอบ หารูปแบบ และคัดกรองข้อมูลจนเหลือแต่แก่นสำคัญแล้ว ขั้นตอนสุดท้ายคือการนำข้อมูลทั้งหมดมา "วางแผนลงมือทำ" ครับ ซึ่งในโลกของการเขียนโปรแกรม เราเรียกสิ่งนี้ว่าการออกแบบ Algorithm (อัลกอริทึม) ครับ!
การออกแบบขั้นตอนวิธี (Algorithm Design) คือ การเขียนอธิบายลำดับขั้นตอนในการแก้ปัญหาอย่างชัดเจน เป็นขั้นเป็นตอน ตั้งแต่เริ่มต้นจนได้ผลลัพธ์ที่ต้องการ โดยไม่มีความกำกวมครับ
💡 กฎเหล็กของ Algorithm: ต้องชัดเจน (ไม่กำกวม), มีลำดับก่อน-หลังที่ถูกต้อง และ ต้องมีจุดสิ้นสุดเสมอ!
การทำอาหารคือตัวอย่างของ Algorithm ที่ดีที่สุดครับ ลองคิดถึงขั้นตอนการทำไข่เจียวดูสิครับ ถ้าเราบอกขั้นตอนสลับกัน หรือบอกไม่ชัดเจน ผลลัพธ์อาจจะกลายเป็นไข่ดาว หรือไข่ไหม้ได้เลย!
มนุษย์เราอาจจะเข้าใจคำสั่งง่ายๆ อย่าง "ไปทำไข่เจียวให้หน่อย" แต่ คอมพิวเตอร์ไม่มีสมองคิดเองครับ! มันทำตามคำสั่งได้เก่งมาก แต่เราต้องสั่งมันทีละบรรทัดอย่างละเอียดและเป็นลำดับขั้นตอน การเขียน Algorithm จึงเปรียบเสมือนการวาด "พิมพ์เขียว" ก่อนที่เราจะนำไปเขียนโค้ด (Coding) จริงๆ นั่นเองครับ
ทดสอบความเป็นสถาปนิกขั้นตอนวิธีในตัวคุณ!
ข้อที่ 1: การออกแบบขั้นตอนวิธี (Algorithm Design) คืออะไร?
ข้อที่ 2: ข้อใดเป็นตัวอย่างการอธิบาย Algorithm ที่ ไม่ดี (มีความกำกวม ไม่ชัดเจน)?
ข้อที่ 3: จะเกิดอะไรขึ้น หากเราสลับขั้นตอนใน Algorithm เช่น "เทไข่ลงในกระทะ" ก่อนที่จะ "ตั้งกระทะและเปิดไฟ"?