เรียนรู้วิธีการค้นหาข้อมูลในกราฟด้วย BFS, DFS และ A* พร้อมภาพอธิบายแบบอินเทอร์แอคทีฟ
BFS เป็นการค้นหาแบบขยายโหนดทีละระดับ โดยจะสำรวจโหนดที่อยู่ชั้นเดียวกันให้ครบก่อนค่อยลงไปยังระดับลึกกว่า (เสมือนการโยนหินลงน้ำแล้วเกิดคลื่นกระจายออก)
DFS เป็นการค้นหาแบบลงลึกไปตามกิ่งใดกิ่งหนึ่งจนสุดทางก่อน หากยังไม่พบคำตอบจึงย้อนกลับ (Backtrack) มาสำรวจกิ่งอื่นที่เหลือ
A* เป็นอัลกอริทึมค้นหาเส้นทางที่ฉลาดขึ้น โดยพิจารณาทั้งต้นทุนที่ใช้ไปแล้วและต้นทุนประมาณการที่เหลือ เพื่อมุ่งหน้าไปสู่เป้าหมายอย่างมีทิศทาง
| คุณสมบัติ | BFS | DFS | A* |
|---|---|---|---|
| โครงสร้างข้อมูลหลัก | Queue | Stack | Priority Queue |
| การใช้หน่วยความจำ | สูง | ต่ำ | สูง |
| หาเส้นทางสั้นสุด (Optimal) | |||
| หาคำตอบเจอเสมอ (Complete) | เจอ (ถ้ากราฟไม่จำกัด) |