ग्राफ एक नॉन-लीनियर डेटा स्ट्रक्चर है। यह नोड्स का उपयोग करके डेटा को दर्शाता है, और एज का उपयोग करके उनके संबंधों को। एक ग्राफ G के दो भाग होते हैं। वर्टेक्स, और एज। वर्टेक्स को सेट V द्वारा दर्शाया जाता है, और एज को सेट E के रूप में दर्शाया जाता है। तो ग्राफ नोटेशन G(V,E) है। आइए एक उदाहरण देखें ताकि विचार मिल सके।

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