ट्री में प्रत्येक एलिमेंट एक नोड होता है। बाइनरी ट्री को परिभाषित करने से पहले हमें एक नोड को परिभाषित करने की आवश्यकता होती है क्योंकि ट्री में नोड्स होते हैं। हम एक बहुत ही सरल नोड परिभाषा बनाएंगे जिसमें 3 गुण होंगे, अर्थात्: लेफ्ट, राइट और डेटा।
लेफ्ट - यह इस नोड के बाएं चाइल्ड का रेफरेंस रखता है।
राइट - यह इस नोड के दाएं चाइल्ड का रेफरेंस रखता है।
डेटा - यह इस नोड में स्टोर किए जाने वाले डेटा का रेफरेंस रखता है।
आइए ऐसी संरचना के कोड प्रतिनिधित्व को देखते हैं।
उदाहरण
class Node {
constructor(data, left = null, right = null) {
this.data = data;
this.left = left;
this.right = right;
}
}
हमने एक कंस्ट्रक्टर के साथ Node डेटा संरचना को परिभाषित किया है जो 3 गुण लेता है: डेटा, लेफ्ट और राइट। हम ज्यादातर केवल नल लेफ्ट और राइट गुणों के साथ एक नोड बनाएंगे क्योंकि हम लीव्स पर वैल्यूज़ इंसर्ट करेंगे।
उपयोग में आसानी के लिए, हम BinarySearchTree क्लास की प्रॉपर्टी के रूप में Node को परिभाषित करेंगे जिसे हम इस क्लास को उस स्थान के भीतर रखने के लिए बनाएंगे जहां हम इसका उपयोग करते हैं।
ध्यान दें कि 2 स्पष्ट लेफ्ट और राइट गुणों वाले ऐसे नोड्स बाइनरी ट्री के लिए आवश्यक हैं। B ट्री या B+ ट्री जैसे मल्टीवे ट्री के लिए, हम चिल्ड्रन नामक एक प्रॉपर्टी परिभाषित करते हैं जो एक ऐरे (या किसी अन्य कंटेनर जैसी डेटा संरचना) होता है।