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

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



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

परिभाषाएं

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

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

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

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

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

डीओएम ट्री में वस्तु पर विधियों का उपयोग करके संबोधित और हेरफेर किया जा सकता है। डीओएम का सार्वजनिक अंतरफलक इसके अप्लिकेशन प्रोग्रामिंग अंतरफलक (एपीआई) में निर्दिष्ट होता है। दस्तावेज़ वस्तु नमूने का इतिहास नेटस्केप मार्गदर्शक और माइक्रोसॉफ्ट अंतर्जाल अन्वेषक के बीच 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)