ยีราฟ คืออะไร

ยีราฟ (Graph) เป็นโครงสร้างข้อมูลที่ใช้ในการเก็บข้อมูลแบบที่สองมิติ โดยประกอบไปด้วยเหลี่ยมห์สี่เหลี่ยมหนึ่งๆที่มีชื่อเรียกว่า "โหนด" (Node) หรือ "จุดเริ่มต้น" (Vertex) และเส้นต่อเส้นที่เรียกว่า "เส้นเชื่อม" (Edge) ในยีราฟที่แท้จริง เราสามารถแทนแต่ละโหนดด้วยอะไรก็ได้ เช่น จุด อักขระ เลข หรือวัตถุประเภทอื่นๆ

ยีราฟมีลักษณะต่างๆที่แบ่งออกเป็นหลายชนิด ได้แก่

  1. ยีราฟไม่เชื่อมต่อ (Disconnected Graph): ยีราฟที่ประกอบด้วยหลายเส้นเชื่อมกัน แต่ไม่สามารถเดินทางจากโหนดหนึ่งๆไปยังอีกโหนดได้
  2. ยีราฟเชื่อมต่อแบบไม่มีวงปิด (Connected Graph): ยีราฟที่สามารถเดินทางจากโหนดใดๆไปยังโหนดใดๆได้ โดยไม่จำเป็นต้องเส้นเชื่อมทุกเส้นกันไป
  3. ยีราฟเชื่อมต่อแบบมีวงปิด (Connected Graph with Cycle): ยีราฟที่สามารถเดินทางจากโหนดใดๆไปยังโหนดใดๆได้ทุกเส้น และยังสามารถเดินวนกลับมายังโหนดเริ่มต้นได้
  4. ยีราฟไม่มีวงปิด (Acyclic Graph): ยีราฟที่สามารถเดินทางจากโหนดใดๆไปยังโหนดใดๆได้ทุกเส้น แต่ไม่สามารถเดินวนกลับมายังโหนดเริ่มต้นได้

บางครั้งยีราฟยังมีการกำกับประเภทของเส้นเชื่อม หรือภาวะเฉพาะที่ทำให้ถูกแบ่งที่เรียกว่า "ยีราฟที่นิยามอย่างเฉพาะ" (Special Graphs) ได้อีก เช่น

  1. ยีราฟที่ไม่มีเส้นเชื่อมเดียว (Graph without edge): ยีราฟที่ไม่มีเส้นเชื่อมในโหนดใดๆ ซึ่งในกรณีนี้ แต่ละโหนดจะเป็นเวียนเซตแยกต่างหาก
  2. ยีราฟที่ไม่มีโหนดเดียว (Graph without vertex): ยีราฟที่ไม่มีโหนดใดๆในเส้นทางเดินทาง ซึ่งในกรณีนี้ แต่ละโหนดจะแบ่งเป็นเวียนเซตต่างหาก

ยีราฟมีประโยชน์ในการแสดงความสัมพันธ์ระหว่างข้อมูลที่มีโครงสร้างตามรูปแบบทางคณิตศาสตร์ต่างๆ เช่น เครือข่ายโทรศัพท์, ระบบเครือข่าย, แผนที่ถนน, โครงสร้างข้อมูล, การจัดการสินค้า, การเดินทางเงินทอนเครื่องดื่มอัตโนมัติ และอื่นๆ