หัวข้อ: การสร้างกราฟที่ไม่มีทิศทางโดยใช้ Linked List แบบ Adjacency List สำหรับโปรแกรม Java
ในโลกของการเขียนโปรแกรม การใช้กราฟเพื่อแสดงความสัมพันธ์ระหว่างองค์ประกอบต่างๆ เป็นสิ่งที่มีประโยชน์อย่างมาก ไม่ว่าจะเป็นในการวิเคราะห์เครือข่าย, การค้นหาเส้นทางในแผนที่, หรือแม้แต่ในการพัฒนาอัลกอริธึมต่างๆ ในบทความนี้เราจะมาพูดถึงการสร้างกราฟแบบไม่มีทิศทาง โดยใช้โครงสร้างข้อมูลประเภท Linked List ซึ่งเรียกว่า Adjacency List ในภาษา Java พร้อมกับตัวอย่างโค้ดสำหรับการใช้งานจริง และยกตัวอย่างในการใช้กราฟในโลกจริงด้วย
กราฟแบบไม่มีทิศทาง (Undirected Graph) คือกราฟที่เส้นเชื่อมระหว่างโหนดต่างๆ ไม่มีทิศทาง คือหากมีเส้นเชื่อมระหว่างโหนด A และ B แล้ว โหนด A และ B จะถือว่าเชื่อมต่อกันทั้งสองทิศทาง ในขณะที่ Adjacency List เป็นการแสดงกราฟโดยใช้ Linked List เพื่อเก็บลิสต์ของโหนดที่เชื่อมต่อกับโหนดหนึ่งๆ นั่นคือแต่ละโหนดจะมี Linked List เพื่อจัดเก็บโหนดที่เชื่อมต่อกับมัน
เพื่อที่จะสร้างกราฟด้วย Adjacency List ในภาษา Java เราจะต้องสร้างคลาสสำหรับโหนดและกราฟของเรา เริ่มแรกเราจะสร้างโครงสร้างข้อมูลสำหรับแต่ละโหนดในกราฟ:
ประการต่อไปนี้คือการสร้างคลาสสำหรับกราฟที่มีโหนดต่างๆ ที่ถูกเชื่อมด้วย Adjacency List:
ตัวอย่างการสร้างกราฟและเพิ่มขอบ (edges) ระหว่างโหนดใน Java:
ตัวอย่างที่ 1: การสร้างกราฟและเพิ่มขอบ
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM