शैक्षणिक रूप से बोलना, डेटा संरचना ट्री और ग्राफ़ के बीच आवश्यक अंतर क्या है? और पेड़ आधारित खोज और ग्राफ़ आधारित खोज के बारे में कैसे?
शैक्षणिक रूप से बोलना, डेटा संरचना ट्री और ग्राफ़ के बीच आवश्यक अंतर क्या है? और पेड़ आधारित खोज और ग्राफ़ आधारित खोज के बारे में कैसे?
जवाबों:
ट्री एक ग्राफ का एक प्रतिबंधित रूप है।
पेड़ों में दिशा (माता-पिता / बच्चे के रिश्ते) होते हैं और चक्र नहीं होते हैं। वे डायरेक्टेड एसाइक्लिक ग्राफ्स (या डीएजी) की श्रेणी में आते हैं। तो पेड़ प्रतिबंध के साथ DAG हैं कि एक बच्चा केवल एक माता-पिता हो सकता है।
एक बात जो इंगित करना महत्वपूर्ण है, पेड़ एक पुनरावर्ती डेटा संरचना नहीं हैं। उपरोक्त प्रतिबंधों के कारण उन्हें एक पुनरावर्ती डेटा संरचना के रूप में लागू नहीं किया जा सकता है। लेकिन किसी भी DAG कार्यान्वयन, जो आमतौर पर पुनरावर्ती नहीं होते हैं, का भी उपयोग किया जा सकता है। मेरा पसंदीदा ट्री कार्यान्वयन एक केंद्रीकृत मानचित्र प्रतिनिधित्व है और गैर पुनरावर्ती है।
रेखांकन आम तौर पर पहले चौड़ाई या गहराई की खोज की जाती है। यही बात ट्री पर भी लागू होती है।
समझाने के बजाय मैं इसे चित्रों में दिखाना पसंद करता हूं।
वास्तविक समय में एक पेड़
वास्तविक जीवन में एक ग्राफ का उपयोग करें
हाँ, एक मानचित्र को एक ग्राफ डेटा संरचना के रूप में देखा जा सकता है।
उन्हें इस तरह देखना जीवन को आसान बनाता है। पेड़ों का उपयोग उन स्थानों पर किया जाता है जहां हम जानते हैं कि प्रत्येक नोड में केवल एक माता-पिता हैं। लेकिन रेखांकन में कई पूर्ववर्तियों हो सकते हैं (शब्द अभिभावक आमतौर पर रेखांकन के लिए उपयोग नहीं किए जाते हैं)।
वास्तविक दुनिया में, आप ग्राफ़ का उपयोग करके लगभग किसी भी चीज़ का प्रतिनिधित्व कर सकते हैं। मैंने उदाहरण के लिए एक मानचित्र का उपयोग किया। यदि आप प्रत्येक शहर को एक नोड के रूप में मानते हैं, तो इसे कई बिंदुओं से पहुँचा जा सकता है। जिन बिंदुओं से यह नोड बनता है उन्हें पूर्ववर्ती कहा जाता है और जिन बिंदुओं पर यह नोड होता है उन्हें उत्तराधिकारी कहा जाता है।
इलेक्ट्रिकल सर्किट आरेख, एक घर, कंप्यूटर नेटवर्क या एक नदी प्रणाली की योजना रेखांकन के कुछ और उदाहरण हैं। कई वास्तविक दुनिया उदाहरणों को रेखांकन माना जा सकता है।
तकनीकी आरेख इस तरह हो सकता है
पेड़:
ग्राफ़:
नीचे दिए गए लिंक को देखें। वे पेड़ों और रेखांकन पर आपके सभी सवालों के जवाब देंगे।
संदर्भ:
अन्य उत्तर उपयोगी हैं, लेकिन वे प्रत्येक के गुणों को याद कर रहे हैं:
अप्रत्यक्ष ग्राफ़, छवि स्रोत: विकिपीडिया
निर्देशित ग्राफ, छवि स्रोत: विकिपीडिया
निर्देशित या अप्रत्यक्ष किया जा सकता है (जो कि ग्राफ़ के सभी किनारों पर लागू होगा)
प्रति के अनुसार विकिपीडिया :
उदाहरण के लिए, यदि कोने एक पार्टी में लोगों का प्रतिनिधित्व करते हैं, और दो लोगों के बीच एक बढ़त है यदि वे हाथ मिलाते हैं, तो यह ग्राफ़ अप्रत्यक्ष है क्योंकि कोई भी व्यक्ति A किसी व्यक्ति B से हाथ मिला सकता है, यदि B भी A के साथ हाथ मिलाता है। इसके विपरीत, यदि कोई व्यक्ति A से B तक का कोई किनारा A, A के B से मेल खाता है, तो यह ग्राफ़ निर्देशित है, क्योंकि प्रशंसा आवश्यक नहीं है।
उपरोक्त गुणों में कुछ ओवरलैप है। विशेष रूप से, पिछले दो गुणों को बाकी गुणों द्वारा निहित किया गया है। लेकिन उनमें से सभी गैर-ध्यान देने योग्य हैं।
पेड़ में, प्रत्येक नोड (रूट नोड को छोड़कर) में एक पूर्ववर्ती नोड और एक या दो उत्तराधिकारी नोड होते हैं। इसे इन-ऑर्डर, प्री-ऑर्डर, पोस्ट-ऑर्डर और ब्रेडथ फर्स्ट ट्रैवर्सल्स का उपयोग करके ट्रेस किया जा सकता है। ट्री एक विशेष प्रकार का ग्राफ है जिसका कोई चक्र नहीं है इसलिए इसे DAG (डायरेक्टेड एसाइक्लिक ग्राफ) के रूप में जाना जाता है। पेड़ एक पदानुक्रमित मॉडल है।
ग्राफ में, प्रत्येक नोड में एक या अधिक पूर्ववर्ती नोड्स और उत्तराधिकारी नोड होते हैं। ग्राफ को डेप्थ फर्स्ट सर्च (डीएफएस) और चौड़ाई फर्स्ट सर्च (बीएफएस) एल्गोरिदम का उपयोग करके ट्रेस किया गया है। ग्राफ में चक्र है इसलिए यह पेड़ की तुलना में अधिक जटिल है। ग्राफ एक नेटवर्क मॉडल है। दो प्रकार के ग्राफ हैं: निर्देशित रेखांकन और अप्रत्यक्ष रेखांकन।
पेड़ स्पष्ट हैं: वे पुनरावर्ती डेटा संरचनाएं हैं जिनमें बच्चों के साथ नोड्स शामिल हैं।
नक्शा (उर्फ शब्दकोश) कुंजी / मूल्य जोड़े हैं। मानचित्र को एक कुंजी दें और यह संबंधित मूल्य को वापस कर देगा।
पेड़ों का उपयोग करके मानचित्रों को लागू किया जा सकता है, मुझे आशा है कि आपको वह भ्रमित नहीं लगेगा।
अद्यतन: "मानचित्र" के लिए "ग्राफ़" को भ्रमित करना बहुत भ्रामक है।
पेड़ों की तुलना में रेखांकन अधिक जटिल हैं। पेड़ पुनरावर्ती माता-पिता / बाल संबंधों को प्रभावित करते हैं। एक पेड़ को पार करने के प्राकृतिक तरीके हैं: गहराई-पहले, चौड़ाई-पहले, स्तर-क्रम, आदि।
रेखांकन में नोड्स के बीच यूनि-दिशात्मक या द्वि-दिशात्मक पथ हो सकते हैं, चक्रीय या चक्रीय हो सकते हैं, आदि मैं ग्राफ़ को अधिक जटिल मानूंगा।
मुझे लगता है कि किसी भी सभ्य डेटा स्ट्रक्चर्स टेक्स्ट (उदाहरण के लिए "एल्गोरिथम डिज़ाइन मैनुअल") में एक सरसरी खोज एसओ के किसी भी उत्तर की तुलना में अधिक और बेहतर जानकारी देगी। मैं आपको सलाह दूंगा कि आप निष्क्रिय मार्ग न अपनाएं और अपने लिए कुछ शोध करना शुरू करें।
ट्री ग्राफ का विशेष रूप है यानी न्यूनतम रूप से जुड़ा हुआ ग्राफ और किसी भी दो कोने के बीच केवल एक ही रास्ता होना।
ग्राफ़ में एक से अधिक पथ हो सकते हैं अर्थात ग्राफ़ में नोड्स के बीच uni- दिशात्मक या द्वि-दिशात्मक पथ (किनारे) हो सकते हैं
इसके अलावा आप अधिक जानकारी देख सकते हैं: http://freefeast.info/difference-between/difference-between-trees-and-graphs-trees-vs-graphs/
गणित में, एक ग्राफ वस्तुओं के एक समूह का प्रतिनिधित्व करता है, जहां कुछ जोड़े वस्तुओं के लिंक से जुड़े होते हैं। परस्पर जुड़ी वस्तुओं को गणितीय अमूर्त रेखाओं द्वारा दर्शाया जाता है, और कुछ जोड़ियों को जोड़ने वाले लिंक को किनारे कहा जाता है। [१] आमतौर पर, एक रेखाचित्र रेखाचित्रों के लिए रेखाओं या घटता से जुड़ने के लिए रेखाचित्रों के रूप में आरेखीय रूप में चित्रित किया जाता है। रेखांकन असतत गणित में अध्ययन की वस्तुओं में से एक है।
पेड़ में एक रूट नोड और एक बच्चे के लिए केवल एक माता-पिता। हालांकि, रूट नोड की कोई अवधारणा नहीं है। एक और अंतर यह है कि पेड़ श्रेणीबद्ध मॉडल है लेकिन ग्राफ नेटवर्क मॉडल है।
एक पेड़ ऐसा होता है जैसे:
क) हटाए गए दिशा निर्देशों के साथ, यह जुड़ा हुआ है और एसाइक्लिक है
- आप या तो धारणा को हटा सकते हैं कि यह एसाइक्लिक है
- यदि यह परिमित है, तो आप वैकल्पिक रूप से इस धारणा को हटा सकते हैं कि यह जुड़ा हुआ है
बी) हर शीर्ष पर एक, रूट, 1 है indegree 1
c) रूट में indegree 0 है
- यदि केवल सूक्ष्मता से कई नोड्स हैं, तो आप या तो इस धारणा को हटा सकते हैं कि रूट के पास 0 है या यह धारणा है कि रूट के अलावा अन्य नोड्स में डिग्री 1 है
संदर्भ: http://www.cs.cornell.edu/courses/cs2800/2016sp/lectures/lec27-29-graphtheory.pdf
ट्री मूल रूप से अप्रत्यक्ष ग्राफ़ है जिसमें चक्र शामिल नहीं है, इसलिए हम कह सकते हैं कि पेड़ ग्राफ़ का अधिक प्रतिबंधित रूप है। हालांकि प्रोग्रामिंग में विभिन्न एल्गोरिदम को लागू करने के लिए पेड़ और ग्राफ का अलग-अलग अनुप्रयोग है। उदाहरण के लिए ग्राफ का उपयोग मॉडल रोड मैप के लिए किया जा सकता है और किसी भी पदानुक्रमित डेटा संरचना को लागू करने के लिए पेड़ का उपयोग किया जा सकता है।