เลือกหัวข้อจากแถบเมนูด้านซ้าย (กรณีหน้าจอเล็กเมนูจะหดกลายเป็นสัญลักษณ์สามขีดอยู่ในแถบเมนูด้านบน) หรือใส่คำค้นหาที่ช่องด้านล่างนี้ เพื่อค้นหาหัวข้อบทความหรือ Tutorial เกี่ยวกับเรื่อง puzzle ที่ต้องการ
การเขียนโค้ดเพื่อแก้ไขปัญหาที่ซับซ้อนนั้นเป็นทั้งศิลปะและวิทยาศาสตร์ หนึ่งในเทคนิคที่น่าสนใจก็คือ Backtracking ซึ่งเป็นเทคนิคในการแก้ปัญหาแบบค้นหาด้วยเงื่อนไขที่คณิตศาสตร์ให้คำจำกัดความว่าเป็น การค้นหาแบบลึกแบบสามารถถอยหลัง (depth-first search with backtracking) หลักการของมันคือการค้นหาโดยทดลองทีละทางเลือก หากพบว่าทางเลือกนั้นนำไปสู่ทางตันหรือผลลัพธ์ที่ไม่ถูกต้อง โปรแกรมจะทำการ ถอยหลัง (backtrack) เพื่อทดลองทางเลือกอื่นๆ...
Read More →ในโลกแห่งการเขียนโปรแกรม วิธีการค้นหาที่เหมาะสมสำหรับสถานการณ์ที่เจอเป็นสิ่งที่นักพัฒนาต้องเผชิญและแก้ไขอยู่เสมอ หนึ่งในอัลกอริทึมที่มีความสำคัญในการหาคำตอบของปัญหาที่มีโครงสร้างที่ซับซ้อนคือ การค้นหาในพื้นที่สถานะ (State Space Search) วันนี้ เราจะมาพูดถึงอัลกอริทึมนี้ด้วยภาษา Python เพื่อช่วยให้คุณเข้าใจแนวคิด ประโยชน์ และข้อจำกัดของมัน...
Read More →Backtracking หรือ กลยุทธ์การค้นหาแบบย้อนกลับ เป็น algorithm ที่ใช้ในการแก้ปัญหาด้านคอมพิวเตอร์ที่มักจะต้องไล่ลำดับและทดลองทุกๆ ความเป็นไปได้จนกว่าจะเจอกับคำตอบที่ถูกต้องหรือสิ้นสุดการค้นหาทั้งหมด เรามักจะเห็น backtracking ในปัญหาที่เกี่ยวข้องกับการตัดสินใจซึ่งสามารถแบ่งย่อยได้เป็นขั้นตอนๆ ละเอียดยิ่งขึ้น ซึ่งต้องทดลองหาคำตอบ ถ้าคำตอบใดไม่เหมาะสมหรือนำไปสู่ทางตัน โปรแกรมก็จะย้อนกลับไปหาทางเลือกอื่นจนกระทั่งเจอคำตอบที่เหมาะสมที่สุดหรือทดลองครบทุกทางเลือก...
Read More →ความลับของการเขียนโปรแกรมอย่างหนึ่งคือการสามารถนำเอาความรู้พื้นฐานไปประยุกต์ใช้ในการแก้ไขปัญหาได้อย่างหลากหลายและสวยงาม เช่นเดียวกับการเขียนฟังก์ชันที่ตรวจสอบว่าข้อความหรือตัวเลข (String หรือ Number) เป็น Palindrome หรือไม่ในภาษา C++ ซึ่ง Palindrome หมายถึงข้อความที่สามารถอ่านได้เหมือนกันทั้งจากหน้าไปหลังและจากหลังไปหน้า เช่น radar หรือ 12321 การตรวจสอบ Palindrome เป็นการฝึกฝนทักษะการเขียนโปรแกรมที่ดีและยังมี Use cases ที่น่าสนใจอีกมากมายในโลกจริง...
Read More →การตรวจสอบว่าตัวเลขที่ป้อนเข้ามาเป็นลำดับคาบฉาก (palindrome) หรือไม่เป็นหัวข้อที่น่าสนใจในโลกของการเขียนโปรแกรม ลำดับคาบฉากคือลำดับของตัวเลขหรือตัวอักษรที่อ่านจากข้างหน้าหรือข้างหลังก็ได้ผลเหมือนกัน เช่น 121, 12321 หรือ level, radar ในบทความนี้เราจะมาอธิบายการใช้งานการตรวจสอบ palindrome ในภาษา JavaScript พร้อมด้วยตัวอย่างโค้ด 3 ตัวอย่าง และการใช้งานในโลกจริง...
Read More →