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

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


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

मान लीजिए हमारे पास ऐसा एक ट्री है:

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

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

123456789101112131415
10516-81520-------23

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

इस प्रतिनिधित्व में हम एक नोड के दो चिल्ड्रन की स्थिति को इस सूत्र का उपयोग करके आसानी से प्राप्त कर सकते हैं:

$$child_{1}=2*parent$$

$$child_{2}=(2*parent)+1$$

चाइल्ड से पैरेंट इंडेक्स प्राप्त करने के लिए हमें इस सूत्र का पालन करना होगा:

$$parent=\begin{bmatrix}\frac{child}{2} \end{bmatrix}$$

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

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

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

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

    इस खंड में हम बाइनरी सर्च ट्री के लिए लेवल-ऑर्डर ट्रैवर्सल तकनीक देखेंगे।मान लीजिए हमारे पास ऐसा एक ट्री है:ट्रैवर्सल क्रम इस प्रकार होगा: 10, 5, 16, 8, 15, 20, 23एल्गोरिदमlevelOrderTraverse(root): Begin    नोड्स स्टोर करने के लिए कतार que परिभाषित करें    रूट को que में इन्सर्ट

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

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

  1. डेटा स्ट्रक्चर में बाइनरी ट्री और गुण डेटा स्ट्रक्चर में बाइनरी ट्री और गुण

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