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

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



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

परिभाषाएं

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

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

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

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

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

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)