เลือกหัวข้อจากแถบเมนูด้านซ้าย (กรณีหน้าจอเล็กเมนูจะหดกลายเป็นสัญลักษณ์สามขีดอยู่ในแถบเมนูด้านบน) หรือใส่คำค้นหาที่ช่องด้านล่างนี้ เพื่อค้นหาหัวข้อบทความหรือ Tutorial เกี่ยวกับเรื่อง shortest_path_problem ที่ต้องการ
Dijkstra Algorithm ตั้งชื่อตามผู้พัฒนา, Edsger W. Dijkstra, สร้างขึ้นเพื่อคำนวณหาเส้นทางที่สั้นที่สุดระหว่างจุดเริ่มต้นและจุดปลายทางในกราฟที่มีน้ำหนักของเส้นเชื่อมระหว่างโหนด (การทำงานของมันจะกำหนดไว้ในกราฟที่มีน้ำหนักไม่เป็นลบเท่านั้น) โดยใช้กลไกของการอัพเดตน้ำหนักเส้นทางและการเลือกเส้นทางที่ดีที่สุดในแต่ละขั้นตอนการวนซ้ำ...
Read More →การเขียนโปรแกรมไม่ได้มีแค่เพียงการสร้างแอพพลิเคชันหรือการพัฒนาเว็บไซต์เท่านั้น แต่ยังเกี่ยวข้องกับการค้นหาแนวทางในการแก้ไขปัญหาหนักหน่วงทางการคำนวณ หนึ่งในวิธีการที่ทรงพลังและน่าตื่นเต้นที่ได้รับความนิยมก็คือ ?Dynamic Programming? หรือ DP ในภาษา C....
Read More →คำว่า Greedy ในแง่มุมของอัลกอริทึม (Algorithm) หมายถึงการทำการเลือกที่ดูเหมือนดีที่สุดในขณะนั้นๆ โดยไม่คำนึงถึงผลลัพธ์ระยะยาวที่อาจเกิดขึ้นจากการเลือกนั้น หรือกล่าวอีกนัยหนึ่งคือการหาคำตอบที่ดูดีที่สุดทีละขั้นตอนโดยไม่ย้อนกลับไปพิจารณาการตัดสินใจที่ผ่านมา...
Read More →ในโลกของโปรแกรมมิ่ง การหาเส้นทางที่สั้นที่สุด (Shortest Path Problem) เป็นหนึ่งในปริศนาที่นักพัฒนาซอฟต์แวร์และนักวิทยาศาสตร์ข้อมูลต้องเผชิญอยู่เป็นประจำ มีอลิตธอร์ริทึมต่างๆ ถูกคิดค้นขึ้นเพื่อเอาชนะความท้าทายนี้ และหนึ่งในนั้นคือ Bellman-Ford Algorithm ซึ่งเป็นเครื่องมือที่มีความสามารถในการตรวจจับวงจรลบ (Negative Cycles) และหาเส้นทางที่สั้นที่สุดแม้ในกราฟที่มีน้ำหนักเป็นลบก็ตาม...
Read More →เมื่อพูดถึงแก่นของการแก้ปัญหาด้วยวิธีการคำนวณทางคอมพิวเตอร์ หนึ่งในอัลกอริทึมที่สำคัญที่ไม่สามารถมองข้ามไปได้ คือ Bellman Ford Algorithm ซึ่งเป็นเครื่องมือที่ทรงพลังสำหรับการหาเส้นทางที่สั้นที่สุดในกราฟ (Shortest Path Problem) ที่มีน้ำหนักบนขอบอาจเป็นลบได้ ไปยังโจทย์ที่ยากลำบากหลากหลาย ในบทความนี้ เราจะพาไปสำรวจเส้นทางของอัลกอริทึมนี้ด้วยภาษา VB.NET พร้อมวิเคราะห์ข้อดีข้อเสียและการประยุกต์ใช้ในโลกจริง...
Read More →การเขียนโปรแกรมนั้นก็คือการแก้ปัญหาต่างๆ ผ่านการสั่งงานคอมพิวเตอร์ด้วยภาษาที่เครื่องจักรสามารถเข้าใจได้ หนึ่งในทักษะเชิงกลยุทธ์ที่สำคัญทางด้านการเขียนโปรแกรมคือการจัดการกับปัญหาการซ้ำซ้อนของคำนวณซึ่งสามารถคร่าชีวิตประสิทธิภาพของโปรแกรมได้ เทคนิคที่ช่วยในเรื่องนี้คือ Memorization หรือการจำผลการคำนวณไว้....
Read More →การเขียนโปรแกรมเพื่อแก้ไขปัญหาทางคณิตศาสตร์หรือการคำนวณในโลกปัจจุบัน นับเป็นทักษะที่พึงประสงค์สำหรับนักพัฒนาซอฟต์แวร์ทุกคน หนึ่งในอัลกอริทึมที่มีประสิทธิภาพและดำเนินการได้ง่ายคือ Greedy Algorithm (อัลกอริทึมตะกละ) วันนี้เราจะมาพูดถึงคุณสมบัติพิเศษของอัลกอริทึมนี้ และทบทวนวิธีการเขียนโปรแกรมด้วยภาษา Perl เพื่อแก้ไขปัญหาโดยใช้อัลกอริทึมตะกละ...
Read More →Greedy Algorithm เป็นชนิดของอัลกอริธึมที่เลือกทำการตัดสินใจทีละขั้นตอน, โดยที่ที่แต่ละขั้นตอนมันจะเลือกสิ่งที่ดูเหมือนจะเป็นตัวเลือกที่ดีที่สุดในขณะนั้นไปเรื่อยๆ โดยมิได้พิจารณาถึงผลกระทบในระยะยาวที่จะตามมา ซึ่งบางครั้งอาจทำให้ไม่ได้ผลลัพธ์ที่เป็นคำตอบที่ดีที่สุดแต่แล้วก็ยังได้ผลลัพธ์ที่ ดีพอ สำหรับปัญหาที่กำลังจัดการอยู่...
Read More →