Advertisement
Graph Data Structure क्या है? और यह कितने प्रकार के होते है?
Graph Data Structure एक इस तरह का data structure है जो real-world के काफी complex relationships को represent करने के लिए उपयोग होता है। Social networks और Google Maps आदि जैसे applications के क्षेत्रो में graphs का काफी ज्यादा उपयोग किया जाता है।
आज के इस blog में हम आपको Graph Data Structure के concepts, types और applications को ही हिंदी में समझने वाले है, इसके अलाबा हम यह भी जानेंगे की Graph का उपयोग किन - किन क्षेत्रो में आम तौर पर किया जा रहा है।
अगर आप भी Graph Data Structure इन सभी टॉपिक्स को एक सरल भाषा में समझना चाहते है तो इस ब्लॉग post को पूरा जरूर पड़े। तो चलिए शुरू करते है और जानते है।
Directed Graph[/caption]
उदहारण: सोचो की आप Twitter का उपयोग कर रहे है, और तुम किसी को follow करते है, जैसे की A → B. इसका यह मतलब होता है की A ने B को follow किया है, पर इसी का उल्टा होता है की जरूरी नहीं की B ने भी A को follow किया हो। यह एक Directed Graph का सबसे बेहतरीन उदहारण है।
Undirected Graph[/caption]
उदाहरण: इस तरह की ग्राफ का सबसे बेहतर उदाहरण Road networks का होगा, क्योकि जिस तरह दोनों cities के बीच का जो रास्ता है वह दोनों तरफ जा सकता है ठीक उसी तरह इस Undirected Graph में जो edges होते है वह दोनों दिशाओ में से किसी भी दिशा में जा सकते है।
Weighted Graph[/caption]
उदाहरण: सोचो आप किसी एक highway पर खड़े है जंहा से अलग - अलग जगाओ के लिए road (edge) जा रहे है साथ ही उनके साथ उनका distance (weight) दिया हुआ है। अगर City A से लेकर आपको City B तक जाना है तो आपको 100 km तक की दूरी तय करि होगी, तो उस समय उस edge का weight 100 होगा।
What is Graph Data Structure in Hindi - ग्राफ डाटा स्ट्रक्चर क्या है ?
Graph Data Structure एक एक प्रकार का non-linear Data Structure है, इसका यह मतलब है की इसमें कभी भी डाटा (Data) एक sequence में स्टोर नहीं होता है। यानि arrays या linked lists में जिस तरह डाटा स्टोर होता है बैसे ग्राफ में नहीं होता है। बल्कि, यह सिर्फ objects (nodes) और उनके बीच के connections (edges) को प्रदर्शित (represent) करने का काम करता है।Basic Components of Graph Data Structure
1. Vertices (Nodes): यह एक node होता है जिसे हम graph में दर्शाते है। उदाहरण के लिए देखे तो football match एक तरह की ग्राफ है जिसमे हर player जो है वह एक node होगा। 2. Edges (Connections): यह lines या फिर arcs होते है जिनका काम nodes को एक दूसरे से जोड़ने का होता है। इसे अगर हम उदाहरण की सहायता से समझे तो जब भी Football गेम में खिलाडी (players) एक दूसरे के बीच ball को pass करते है तो उसे ही edge कहा जाता है। 3. Graph Representation (G(V, E)):- V (Vertices) का जो set होता है, वह ग्राफ में उपस्थित सभी nodes को दर्शाता करता है।
- E (Edges) का जो set है, वह ग्राफ में उपस्थित सभी nodes के बीच होने वाले connections को दर्शाता है।
- Graph को हम हमेशा G(V, E) के जरिए denote किया जाता है, जो यह बताता है की यह जो graph है उसमे कौनसे vertices और कौनसे edges उपस्थित है।
Graph Data Structure Real-Life Example:
अगर हम एक social media platform जैसे Facebook और Instagram का उदहारण ले तो:- इंटाग्राम और फेसबुक पर उपस्थित हर एक यूजर एक node (vertex) होगा।
- जिसमे follow का जो फीचर होता है वह उपयोग कर्ताओ के बीच relationship दर्शाता है जो एक edge (connection) होगा।
- अगर इसमें दो यूजर एक दूसरे से जुड़े (connected) होते है तो उनके बीच में एक edge मौजूद होगा।
Applications of Graph Data Structure in Hindi
- Social Networks - Facebook, Instagram जैसे प्लेटफार्म में यूजर और उनके बीच जो relations होते है उसको भी Graph Data Structure के रूप में दर्शाया जाता है।
- Google Maps & GPS - अगर हम सहरो को nodes और उनमे जो रोड होते है उनको edges मानते है तो उसमे shortest path algorithms का उपयोग होता है।
- Web Crawling & Search Engines - Google search में भी इसका उपयोग PageRank Algorithm के रूप में किया जाता है जो वेबसाइटओ के बीच relations को analyze करने के लिए होता है।
- AI & Machine Learning - आज के समय में Recommendation systems जैसे Netflix और Amazon आदि भी Graph Data Structure का उपयोग करते है।
- Electrical Circuits & VLSI - Circuits के components और उनके बीच जो कनेक्शन होते है उनको graph के फॉर्म में ही डिज़ाइन किया जाता है।
- Biology & Chemistry - Genome sequencing और drug discovery आदि जैसे क्षेत्रो में भी graphs का उपयोग किया जाता है।
- Cybersecurity & Fraud Detection - Bank transactions और cyber-attacks को analysis करने के लिए भी graph theory का उपयोग किया किया जाता है।
Types of Graphs in Hindi - ग्राफ के प्रकार
Graph Data Structure निम्नलिखित प्रकार होते है जिनमे से कुछ नीचे दिए हुए है:1. Directed Graph
Directed Graph जो है वह एक इस तरह का Graph Data Structure होता है जिसमे उपस्थित हर एक edge एक specific दिशा में होते है। इस graph में edges को arrow के निशान की सहायता से दर्शाया जाता है, जो हमेशा एक नोड से लेकर दूसरे नोड तक एक fixed दिशा को दिखता है। इस तरह के graphs में जो edges होते है उनको Directed Edges या फिर Arcs कहा जाता है। अगर कभी किसी graph के सभी edges किसी एक ही दिशा में होते है, तो उस ग्राफ को ही Directed Graph या Diagraph कहा जाता है। [caption id="attachment_1879" align="aligncenter" width="300"]
Directed Graph[/caption]
उदहारण: सोचो की आप Twitter का उपयोग कर रहे है, और तुम किसी को follow करते है, जैसे की A → B. इसका यह मतलब होता है की A ने B को follow किया है, पर इसी का उल्टा होता है की जरूरी नहीं की B ने भी A को follow किया हो। यह एक Directed Graph का सबसे बेहतरीन उदहारण है।
2. Undirected Graph
Undirected Graph वो ग्राफ होता है जिसमे edges के पास किसी भी तरह का कोई fixed direction नहीं होता है। आसान शब्दो में, अगर कोई एक edge दोनों nodes को बिना किसी तरह की दिशा को चुने के connect करता है, तो उस तरह के ग्राफ को Undirected Graph कहा जाता है। इस तरह की graph में edges को simple lines की सहायता से दर्शाया जाता है, बिना किसी तरह के निशान का उपयोग करे। इसका मतलब है की इसमे connections जो होते है वह दोनों तरफ से बराबर होते है, जैसे A - B का यह महतलाब है की A और B एक दूसरे से connected है, और यह कनेक्शन दोनों तरफ से valid है। [caption id="attachment_1876" align="aligncenter" width="300"]
Undirected Graph[/caption]
उदाहरण: इस तरह की ग्राफ का सबसे बेहतर उदाहरण Road networks का होगा, क्योकि जिस तरह दोनों cities के बीच का जो रास्ता है वह दोनों तरफ जा सकता है ठीक उसी तरह इस Undirected Graph में जो edges होते है वह दोनों दिशाओ में से किसी भी दिशा में जा सकते है।
3. Weighted Graph
Weighted Graph एक इस तरह की ग्राफ हटी है जिसमे edges के साथ - साथ उनके weights या costs भी दी हुई रहती है। ये जो weights या costs होती है वह हर एक edge के साथ add किया जाता है, जो उस edge के महत्व या फिर उसकी value को दर्शाता है। [caption id="attachment_1882" align="aligncenter" width="300"]
Weighted Graph[/caption]
उदाहरण: सोचो आप किसी एक highway पर खड़े है जंहा से अलग - अलग जगाओ के लिए road (edge) जा रहे है साथ ही उनके साथ उनका distance (weight) दिया हुआ है। अगर City A से लेकर आपको City B तक जाना है तो आपको 100 km तक की दूरी तय करि होगी, तो उस समय उस edge का weight 100 होगा।