วันจันทร์ที่ 21 มกราคม พ.ศ. 2562

Dijkstra's algorithm in Javascript

    จากครั้งที่แล้วเราได้หาตัวอย่างการ implement โค้ดของ Dijkstra's algorithm ในภาษา Python ไปแล้ว แต่เนื่องจากว่าภาษาที่เราใช้ในการพัฒนาแอปพลิเคชั่นคือภาษา Javascript เราจึงค้นคว้าหาข้อมูลเกี่ยวกับการ implement algorithm ดังกล่าว
    ซึ่งก็ได้มีหลายต่อหลายคนได้ทำและก็แชร์ข้อมูลผ่านต่างเว็บไซต์ต่างๆมากมาย โดยแต่ละแหล่งข้อมูลก็ได้มีวิธีการทำที่แตกต่างกัน แต่ผลลัพธ์ที่ได้ออกมานั้นก็จะเป็นในลักษณะคล้ายๆกัน คือเป็น array เรียงลำดับจาก node เริ่มต้นไปยัง node ถัดๆไป จนถึง node ปลายทางได้สำเร็จโดยใช้จะเป็นเส้นทางที่ใช้ระยะทางสั้นที่สุด
    ในบรรดาหลายๆแหล่งข้อมูลนั้น ก็มีที่ผมนั้นสนใจอยู่ที่หนึ่งก็คือ Link โดยจะตัวโค้ดนั้นสามารถนำมาทดลองใช้ได้ง่าย และโค้ดของส่วนการสร้างกราฟนั้นก็ไม่ซับซ้อนมากนัก เข้าใจได้ง่าย


 

    ในส่วนของการสร้างข้อมูลกราฟนั้นสามารถทำได้ดังนี้


    จากตัวอย่างกราฟด้านบน ถ้าเรานำมาแปลงเป็นโค้ดจะได้ดังนี้ 



    โดยวิธีการใส่ข้อมูลนั้นจะเป็นลักษณะของการนำ node ทุกตัว มาใส่รายละเอียดข้อมูลว่าเชื่อมกับจุดใดบางด้วยระยะทางเท่าไร ซึ่งจะไม่เหมือนกับตัวอย่างของภาษา Python ที่เราได้ทดลองในบทความครั้งที่แล้ว โดยคำตอบที่ได้จะเป็น A => B => D => F

                                                    






ไม่มีความคิดเห็น:

แสดงความคิดเห็น