ग्राफ एक गैर-रेखीय डेटा संरचना है। यह नोड्स का उपयोग करके डेटा का प्रतिनिधित्व करता है, और किनारों का उपयोग करके उनके संबंध। एक ग्राफ G में दो खंड होते हैं। कोने, और किनारे। सेट वी का उपयोग करके वर्टिस का प्रतिनिधित्व किया जाता है, और किनारों को सेट ई के रूप में दर्शाया जाता है। इसलिए ग्राफ नोटेशन जी (वी, ई) है। आइए विचार प्राप्त करने के लिए एक उदाहरण देखें।
इस ग्राफ में पांच शीर्ष और पांच किनारे हैं। किनारों को निर्देशित किया जाता है। उदाहरण के तौर पर, यदि हम शीर्ष को जोड़ने वाले किनारे B और D को चुनते हैं, तो स्रोत शीर्ष B है और गंतव्य D है। इसलिए हम B को D पर ले जा सकते हैं लेकिन D से B पर नहीं जा सकते।
रेखांकन गैर-रैखिक हैं, और इसकी कोई नियमित संरचना नहीं है। स्मृति में एक ग्राफ का प्रतिनिधित्व करने के लिए, कुछ अलग शैलियाँ हैं। ये शैलियाँ हैं -
- आसन्नता मैट्रिक्स प्रतिनिधित्व
- एज सूची प्रतिनिधित्व
- आसन्नता सूची प्रतिनिधित्व
यहां हम आसन्न सूची का प्रतिनिधित्व देखेंगे -
आसन्नता सूची प्रतिनिधित्व
इस प्रतिनिधित्व को आसन्नता सूची कहा जाता है। यह प्रतिनिधित्व लिंक्ड सूचियों पर आधारित है। इस दृष्टिकोण में, प्रत्येक नोड नोड्स की एक सूची रखता है, जो सीधे उस कोने से जुड़े होते हैं। सूची के अंत में, प्रत्येक नोड को यह बताने के लिए शून्य मानों से जोड़ा जाता है कि यह उस सूची का अंतिम नोड है।