नोड (कंप्यूटर विज्ञान)

एक नोड [[आंकड़े संरचना]] की एक मूल इकाई है, जैसे कि लिंक की गई सूची या ट्री (डेटा संरचना) डेटा संरचना। नोड्स में डेटा होता है और अन्य नोड्स से लिंक भी हो सकता है। नोड्स के बीच लिंक अक्सर सूचक (कंप्यूटर प्रोग्रामिंग)  द्वारा कार्यान्वित किए जाते हैं।



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

परिभाषाएं

 * चाइल्ड: एक चाइल्ड नोड एक नोड है जो दूसरे नोड से विस्तारित होता है। उदाहरण के लिए, इंटरनेट एक्सेस वाले कंप्यूटर को इंटरनेट का प्रतिनिधित्व करने वाले नोड का चाइल्ड नोड माना जा सकता है। व्युत्क्रम संबंध एक मूल नोड का है। यदि नोड 'सी' नोड 'ए' का बच्चा है, तो 'ए' 'सी' का पैरेंट नोड है।
 * डिग्री: नोड की डिग्री नोड के बच्चों की संख्या है।
 * गहराई: नोड ए की गहराई ए से रूट नोड तक के पथ की लंबाई है। कहा जाता है कि रूट नोड की गहराई 0 है।
 * एज: नोड्स के बीच कनेक्शन।
 * वन: पेड़ों का समूह।
 * ऊंचाई: नोड 'ए' की ऊंचाई चिल्ड्रन से लीफ नोड तक जाने वाले सबसे लंबे रास्ते की लंबाई है।
 * आंतरिक नोड: कम से कम एक बच्चे के साथ एक नोड।
 * लीफ नोड: बिना बच्चों वाला नोड।
 * रूट नोड: एक नोड जो बाकी ट्री नोड्स से अलग होता है। आमतौर पर, इसे पेड़ के उच्चतम नोड के रूप में दर्शाया जाता है।
 * सहोदर नोड: ये एक ही पैरेंट नोड से जुड़े नोड होते हैं।

मार्कअप भाषाएँ
वेब विकास में नोड ट्री का एक अन्य सामान्य उपयोग है। प्रोग्रामिंग में, XML का उपयोग कंप्यूटर प्रोग्रामर और कंप्यूटर के बीच सूचनाओं को समान रूप से संप्रेषित करने के लिए किया जाता है। इस कारण से XML का उपयोग कार्यालय उत्पादकता सॉफ़्टवेयर में उपयोग किए जाने वाले सामान्य संचार प्रोटोकॉल बनाने के लिए किया जाता है, और X[[HTML]] जैसी आधुनिक वेब मार्कअप भाषाओं के विकास के लिए आधार के रूप में कार्य करता है। हालांकि एक प्रोग्रामर द्वारा इसे कैसे संपर्क किया जाता है, इसके समान, HTML और CSS आमतौर पर वेबसाइट टेक्स्ट और डिज़ाइन को विकसित करने के लिए उपयोग की जाने वाली भाषा है। जबकि XML, HTML और XHTML भाषा और अभिव्यक्ति प्रदान करते हैं, दस्तावेज़ ऑब्जेक्ट मॉडल एक अनुवादक के रूप में कार्य करता है।

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

विभिन्न W3C विश्वव्यापी वेब संकाय  नोड प्रकार और विवरण:
 * दस्तावेज़ पूरे दस्तावेज़ का प्रतिनिधित्व करता है (DOM ट्री का रूट-नोड)
 * DocumentFragment हल्के दस्तावेज़ ऑब्जेक्ट का प्रतिनिधित्व करता है, जो दस्तावेज़ के एक हिस्से को पकड़ सकता है
 * DocumentType दस्तावेज़ के लिए परिभाषित संस्थाओं के लिए एक इंटरफ़ेस प्रदान करता है
 * प्रसंस्करण निर्देश एक प्रसंस्करण निर्देश का प्रतिनिधित्व करता है
 * EntityReference एक इकाई संदर्भ का प्रतिनिधित्व करता है
 * तत्व एक तत्व का प्रतिनिधित्व करता है
 * Attr एक विशेषता का प्रतिनिधित्व करता है
 * पाठ एक तत्व या विशेषता में पाठ्य सामग्री का प्रतिनिधित्व करता है
 * CDATASection एक दस्तावेज़ में एक सीडीएटीए अनुभाग का प्रतिनिधित्व करता है (पाठ जो एक पार्सर द्वारा पार्स नहीं किया जाएगा)
 * टिप्पणी एक टिप्पणी का प्रतिनिधित्व करती है
 * इकाई एक इकाई का प्रतिनिधित्व करती है
 * नोटेशन डीटीडी में घोषित एक नोटेशन का प्रतिनिधित्व करता है

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

DOM ट्री में ऑब्जेक्ट्स को ऑब्जेक्ट्स पर विधियों का उपयोग करके संबोधित और हेरफेर किया जा सकता है। DOM का सार्वजनिक इंटरफ़ेस इसके अप्लिकेशन प्रोग्रामिंग अंतरफलक (API) में निर्दिष्ट है। दस्तावेज़ ऑब्जेक्ट मॉडल का इतिहास नेटस्केप नेविगेटर और माइक्रोसॉफ्ट अंतर्जाल अन्वेषक  के बीच 1990 के दशक के अंत के ब्राउज़र युद्धों के इतिहास के साथ-साथ जावास्क्रिप्ट और जेस्क्रिप्ट के साथ जुड़ा हुआ है, ब्राउज़र इंजनों में व्यापक रूप से लागू होने वाली पहली स्क्रिप्टिंग भाषाएं वेब ब्राउज़रों की।

यह भी देखें

 * वर्टेक्स (ग्राफ सिद्धांत)

बाहरी संबंध

 * Data Trees as a Means of Presenting Complex Data Analysis by Sally Knipe
 * STL-like C++ tree class
 * Description of tree data structures from ideainfo.8m.com
 * WormWeb.org: Interactive Visualization of the C. elegans Cell Tree - Visualize the entire cell lineage tree of the nematode C. elegans (javascript)