เลือกหัวข้อจากแถบเมนูด้านซ้าย (กรณีหน้าจอเล็กเมนูจะหดกลายเป็นสัญลักษณ์สามขีดอยู่ในแถบเมนูด้านบน) หรือใส่คำค้นหาที่ช่องด้านล่างนี้ เพื่อค้นหาหัวข้อบทความหรือ Tutorial เกี่ยวกับเรื่อง maze ที่ต้องการ
การค้นหาแบบ Depth First Search (DFS) เป็นอัลกอริธึมพื้นฐานที่ใช้ในโดเมนของการหาทางเดินในกราฟหรือเมทริกซ์ ก่อนที่จะดำดิ่งสู่โค้ดในภาษา C และ usecase ต่างๆ ของมัน มาร่วมสำรวจกันว่า DFS คืออะไร และมันสามารถช่วยแก้ปัญหาอย่างไรบ้างในโลกแห่งการเขียนโปรแกรม!...
Read More →ในโลกแห่งการเขียนโปรแกรมที่มีข้อมูลมหาศาล เทคนิคการค้นหาข้อมูลเป็นหนึ่งในสิ่งสำคัญมาก หนึ่งในเทคนิคดังกล่าวคือ Algorithm ที่ชื่อว่า Depth First Search (DFS) ซึ่งใช้วิธีการค้นหาแบบลึกลงไปในทิศทางหนึ่งจนสุดทางก่อน จึงจะย้อนกลับเพื่อค้นหาในทิศทางใหม่ ในบทความนี้ เราจะไปสำรวจความลึกของ DFS กันว่ามันคืออะไร ใช้ในการแก้ปัญหาใดบ้าง และไปดูข้อดีข้อเสียผ่านตัวอย่างรหัสโปรแกรมและสถานการณ์จริงที่เราพบเจอได้บ่อยๆ...
Read More →ตัวอย่างของ Backtracking ที่ทรงพลังและน่าสนใจคือ การแก้ปัญหา N Queens Problem ซึ่งต้องการวางหมากรุก N ตัวในกระดานชนวนขนาด N?N โดยที่ไม่มีหมากรุกใดๆสามารถจับหมากรุกตัวอื่นได้...
Read More →การเขียนโค้ดเพื่อแก้ไขปัญหาที่ซับซ้อนนั้นเป็นทั้งศิลปะและวิทยาศาสตร์ หนึ่งในเทคนิคที่น่าสนใจก็คือ Backtracking ซึ่งเป็นเทคนิคในการแก้ปัญหาแบบค้นหาด้วยเงื่อนไขที่คณิตศาสตร์ให้คำจำกัดความว่าเป็น การค้นหาแบบลึกแบบสามารถถอยหลัง (depth-first search with backtracking) หลักการของมันคือการค้นหาโดยทดลองทีละทางเลือก หากพบว่าทางเลือกนั้นนำไปสู่ทางตันหรือผลลัพธ์ที่ไม่ถูกต้อง โปรแกรมจะทำการ ถอยหลัง (backtrack) เพื่อทดลองทางเลือกอื่นๆ...
Read More →การเข้าใจแนวทางในการแก้ไขปัญหาทางคอมพิวเตอร์นี้ล้วนเป็นหัวใจหลักที่จำเป็นสำหรับนักพัฒนาซอฟต์แวร์ทุกคน หนึ่งในแนวทางที่ได้รับความนิยมคือการใช้ Depth First Search (DFS) ซึ่งเป็น Algorithm ที่ใช้ในการค้นหาหรือเดินทางผ่านกราฟและต้นไม้โครงสร้างข้อมูล (tree data structures) ด้วยการทำลึกไปเรื่อยๆ จนถึงจุดสิ้นสุด แล้วจึงย้อนกลับมาหาทางเลือกอื่น...
Read More →Backtracking หรือ กลยุทธ์การค้นหาแบบย้อนกลับ เป็น algorithm ที่ใช้ในการแก้ปัญหาด้านคอมพิวเตอร์ที่มักจะต้องไล่ลำดับและทดลองทุกๆ ความเป็นไปได้จนกว่าจะเจอกับคำตอบที่ถูกต้องหรือสิ้นสุดการค้นหาทั้งหมด เรามักจะเห็น backtracking ในปัญหาที่เกี่ยวข้องกับการตัดสินใจซึ่งสามารถแบ่งย่อยได้เป็นขั้นตอนๆ ละเอียดยิ่งขึ้น ซึ่งต้องทดลองหาคำตอบ ถ้าคำตอบใดไม่เหมาะสมหรือนำไปสู่ทางตัน โปรแกรมก็จะย้อนกลับไปหาทางเลือกอื่นจนกระทั่งเจอคำตอบที่เหมาะสมที่สุดหรือทดลองครบทุกทางเลือก...
Read More →ในโลกของการเขียนโปรแกรม การสร้างเกมนั้นเป็นหนึ่งในวิธีการที่สร้างสรรค์และน่าตื่นเต้น ภาษา Java เป็นภาษาการเขียนโปรแกรมที่เหมาะสำหรับการสร้างเกมเนื่องจากมีคลาสและห้องสมุดที่พร้อมใช้งานหลากหลาย ในบทความนี้ เราจะแนะนำการสร้างเกมง่ายๆ ในภาษา Java พร้อมทั้งตัวอย่างโค้ดที่คุณสามารถศึกษาได้ และสิ่งที่น่าสนใจที่สุดคือ คุณจะได้เห็นการนำเอาบทเรียนจากการเขียนเกมไปใช้ในโลกจริงผ่าน usecase ที่จะให้ความรู้คุณถึงคุณค่าของการเรียนรู้โปรแกรมมิ่งที่ EPT ของเรา...
Read More →