5. อัลกอริทึมการค้นหา

เรียนรู้วิธีการค้นหาข้อมูลในกราฟด้วย BFS, DFS และ A* พร้อมภาพอธิบายแบบอินเทอร์แอคทีฟ

5.1 Breadth-First Search (BFS)

BFS เป็นการค้นหาแบบขยายโหนดทีละระดับ โดยจะสำรวจโหนดที่อยู่ชั้นเดียวกันให้ครบก่อนค่อยลงไปยังระดับลึกกว่า (เสมือนการโยนหินลงน้ำแล้วเกิดคลื่นกระจายออก)

ลักษณะเด่น

  • มักได้คำตอบที่สั้นที่สุดเมื่อแต่ละก้าวมีต้นทุนเท่ากัน
  • เหมาะกับปัญหาที่คำตอบอยู่ไม่ลึกมาก
  • ใช้หน่วยความจำมาก เพราะต้องเก็บโหนดในแต่ละระดับไว้
โครงสร้างข้อมูล: Queue (คิว) — FIFO (First In, First Out)

ตารางเปรียบเทียบคุณสมบัติ

คุณสมบัติ BFS DFS A*
โครงสร้างข้อมูลหลัก Queue Stack Priority Queue
การใช้หน่วยความจำ สูง ต่ำ สูง
หาเส้นทางสั้นสุด (Optimal)
หาคำตอบเจอเสมอ (Complete) เจอ (ถ้ากราฟไม่จำกัด)