Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

डेटा संरचनाओं में बाइनरी ट्री प्रतिनिधित्व

यहां हम देखेंगे कि कंप्यूटर मेमोरी में बाइनरी ट्री का प्रतिनिधित्व कैसे किया जाता है। प्रतिनिधित्व करने के दो अलग-अलग तरीके हैं। ये सरणी का उपयोग कर रहे हैं और लिंक्ड सूची का उपयोग कर रहे हैं।

मान लीजिए हमारे पास एक ऐसा पेड़ है -

डेटा संरचनाओं में बाइनरी ट्री प्रतिनिधित्व

सरणी प्रतिनिधित्व स्तर क्रम फैशन का उपयोग करके तत्वों को स्कैन करके ट्री डेटा संग्रहीत करता है। तो यह नोड्स स्तर को स्तर से स्टोर करता है। यदि कुछ तत्व गायब है, तो यह उसके लिए रिक्त स्थान छोड़ देता है। उपरोक्त पेड़ का प्रतिनिधित्व नीचे जैसा है -

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
10 5 16 - 8 15 20 - - - - - - - 23

इंडेक्स 1 जड़ पकड़ रहा है, इसके दो बच्चे 5 और 16 हैं, उन्हें स्थान 2 और 3 पर रखा गया है। कुछ बच्चे गायब हैं, इसलिए उनका स्थान खाली छोड़ दिया गया है।

इस निरूपण में हम इस सूत्र का उपयोग करके आसानी से एक नोड के दो बच्चों की स्थिति प्राप्त कर सकते हैं -

$$child_{1}=2*अभिभावक$$

$$child_{2}=\lgroup2*parent\rgroup+1$$

बच्चे से मूल अनुक्रमणिका प्राप्त करने के लिए हमें इस सूत्र का पालन करना होगा -

$$पैरेंट=\शुरू{bmatrix}\frac{child}{2} \end{bmatrix}$$

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

एक अन्य दृष्टिकोण लिंक्ड सूचियों का उपयोग करना है। हम प्रत्येक तत्व के लिए नोड बनाते हैं। यह नीचे जैसा दिखेगा -

डेटा संरचनाओं में बाइनरी ट्री प्रतिनिधित्व


  1. डेटा संरचनाओं में लेवल ऑर्डर ट्री ट्रैवर्सल डेटा संरचनाओं में लेवल ऑर्डर ट्री ट्रैवर्सल

    इस खंड में हम बाइनरी सर्च ट्री के लिए लेवल-ऑर्डर ट्रैवर्सल तकनीक देखेंगे। मान लीजिए हमारे पास एक ऐसा पेड़ है - ट्रैवर्सल अनुक्रम इस प्रकार होगा:10, 5, 16, 8, 15, 20, 23 एल्गोरिदम levelOrderTraverse(root): Begin    define queue que to store nodes    insert root into the que. &

  1. डेटा संरचनाओं में बाइनरी ट्री ट्रैवर्सल डेटा संरचनाओं में बाइनरी ट्री ट्रैवर्सल

    इस खंड में हम बाइनरी सर्च ट्री में मौजूद ट्रैवर्स कीज़ के लिए अलग-अलग ट्रैवर्सल एल्गोरिदम देखेंगे। ये ट्रैवर्सल इनऑर्डर ट्रैवर्सल, प्रीऑर्डर ट्रैवर्सल, पोस्टऑर्डर ट्रैवर्सल और लेवल ऑर्डर ट्रैवर्सल हैं। मान लीजिए हमारे पास एक ऐसा पेड़ है - इनऑर्डर ट्रैवर्सल अनुक्रम इस तरह होगा - 5 8 10 15 16 20 2

  1. डेटा संरचनाओं में बाइनरी पेड़ और गुण डेटा संरचनाओं में बाइनरी पेड़ और गुण

    इस खंड में हम एक बाइनरी ट्री डेटा संरचना के कुछ महत्वपूर्ण गुण देखेंगे। मान लीजिए हमारे पास इस तरह का एक बाइनरी ट्री है। कुछ गुण हैं - स्तर l पर नोड्स की अधिकतम संख्या $2^{l-1}$ होगी। यहां स्तर रूट से नोड तक पथ पर नोड्स की संख्या है, जिसमें रूट भी शामिल है। हम विचार कर रहे हैं कि जड़ का स्तर 1 ह