सदस्य:Arumanbhai/प्रयोगपृष्ठ

मुक्त ज्ञानकोश विकिपीडिया से

__LEAD_SECTION__[संपादित करें]

कंप्यूटर विज्ञान में, एक सरणी एक डेटा संरचना होती है जिसमें समान मेमोरी आकार के तत्वों ( मान या चर ) का संग्रह होता है, प्रत्येक को कम से कम एक सरणी सूचकांक या कुंजी द्वारा पहचाना जाता है। एक सरणी को इस प्रकार संग्रहित किया जाता है कि प्रत्येक तत्व की स्थिति की गणना गणितीय सूत्र द्वारा उसके सूचकांक टुपल से की जा सके। [1] [2] [3] डेटा संरचना का सबसे सरल प्रकार एक रैखिक सरणी है, जिसे एक-आयामी सरणी भी कहा जाता है।

उदाहरण के लिए, दस 32-बिट (4-बाइट) पूर्णांक चर की एक सरणी, 0 से 9 सूचकांकों के साथ, मेमोरी पते 2000, 2004, 2008, ..., 2036, ( हेक्साडेसिमल में: 0x7D0 0) पर दस शब्दों के रूप में संग्रहीत की जा सकती है।, 0x7D4, 0x7D8, ..., 0x7F4 ) ताकि सूचकांक i वाले तत्व का पता 2000 + ( i × 4) हो। किसी सारणी के पहले तत्व के मेमोरी एड्रेस को फर्स्ट एड्रेस, फाउंडेशन एड्रेस या बेस एड्रेस कहा जाता है।

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

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

सारणियाँ अधिकतर उपयोगी होती हैं क्योंकि तत्व सूचकांकों की गणना रन टाइम पर की जा सकती है। अन्य बातों के अलावा, यह सुविधा एक एकल पुनरावृत्त कथन को किसी सरणी के कई तत्वों को मनमाने ढंग से संसाधित करने की अनुमति देती है। उस कारण से, किसी सरणी डेटा संरचना के तत्वों का आकार समान होना आवश्यक है और समान डेटा प्रतिनिधित्व का उपयोग करना चाहिए। वैध इंडेक्स ट्यूपल्स का सेट और तत्वों के पते (और इसलिए तत्व एड्रेसिंग फॉर्मूला) आमतौर पर, [3] [4] होते हैं, लेकिन हमेशा नहीं, [2] जब सरणी उपयोग में होती है तो तय हो जाती है।

शब्द "सरणी" एक सरणी डेटा प्रकार को भी संदर्भित कर सकता है, अधिकांश उच्च-स्तरीय प्रोग्रामिंग भाषाओं द्वारा प्रदान किया गया एक प्रकार का डेटा प्रकार जिसमें मानों या चर का संग्रह होता है जिसे रन-टाइम पर गणना की गई एक या अधिक सूचकांकों द्वारा चुना जा सकता है . सरणी प्रकार अक्सर सरणी संरचनाओं द्वारा कार्यान्वित किए जाते हैं; हालाँकि, कुछ भाषाओं में उन्हें हैश तालिकाओं, लिंक्ड सूचियों, खोज पेड़ों या अन्य डेटा संरचनाओं द्वारा कार्यान्वित किया जा सकता है।

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

__LEAD_SECTION__[संपादित करें]

कंप्यूटर विज्ञान में, एक सरणी एक डेटा संरचना होती है जिसमें समान मेमोरी आकार के तत्वों ( मान या चर ) का संग्रह होता है, प्रत्येक को कम से कम एक सरणी सूचकांक या कुंजी द्वारा पहचाना जाता है। एक सरणी को इस प्रकार संग्रहित किया जाता है कि प्रत्येक तत्व की स्थिति की गणना गणितीय सूत्र द्वारा उसके सूचकांक टुपल से की जा सके। [5] [2] [3] डेटा संरचना का सबसे सरल प्रकार एक रैखिक सरणी है, जिसे एक-आयामी सरणी भी कहा जाता है।

उदाहरण के लिए, दस 32-बिट (4-बाइट) पूर्णांक चर की एक सरणी, 0 से 9 सूचकांकों के साथ, मेमोरी पते 2000, 2004, 2008, ..., 2036, ( हेक्साडेसिमल में: 0x7D0 0) पर दस शब्दों के रूप में संग्रहीत की जा सकती है।, 0x7D4, 0x7D8, ..., 0x7F4 ) ताकि सूचकांक i वाले तत्व का पता 2000 + ( i × 4) हो। किसी सारणी के पहले तत्व के मेमोरी एड्रेस को फर्स्ट एड्रेस, फाउंडेशन एड्रेस या बेस एड्रेस कहा जाता है।

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

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

सारणियाँ अधिकतर उपयोगी होती हैं क्योंकि तत्व सूचकांकों की गणना रन टाइम पर की जा सकती है। अन्य बातों के अलावा, यह सुविधा एक एकल पुनरावृत्त कथन को किसी सरणी के कई तत्वों को मनमाने ढंग से संसाधित करने की अनुमति देती है। उस कारण से, किसी सरणी डेटा संरचना के तत्वों का आकार समान होना आवश्यक है और समान डेटा प्रतिनिधित्व का उपयोग करना चाहिए। वैध इंडेक्स ट्यूपल्स का सेट और तत्वों के पते (और इसलिए तत्व एड्रेसिंग फॉर्मूला) आमतौर पर, [3] [4] होते हैं, लेकिन हमेशा नहीं, [2] जब सरणी उपयोग में होती है तो तय हो जाती है।

शब्द "सरणी" एक सरणी डेटा प्रकार को भी संदर्भित कर सकता है, अधिकांश उच्च-स्तरीय प्रोग्रामिंग भाषाओं द्वारा प्रदान किया गया एक प्रकार का डेटा प्रकार जिसमें मानों या चर का संग्रह होता है जिसे रन-टाइम पर गणना की गई एक या अधिक सूचकांकों द्वारा चुना जा सकता है . सरणी प्रकार अक्सर सरणी संरचनाओं द्वारा कार्यान्वित किए जाते हैं; हालाँकि, कुछ भाषाओं में उन्हें हैश तालिकाओं, लिंक्ड सूचियों, खोज पेड़ों या अन्य डेटा संरचनाओं द्वारा कार्यान्वित किया जा सकता है।

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

  1. Black, Paul E. (13 November 2008). "array". Dictionary of Algorithms and Data Structures. National Institute of Standards and Technology. अभिगमन तिथि 22 August 2010.Black, Paul E. (13 November 2008). "array". Dictionary of Algorithms and Data Structures. National Institute of Standards and Technology. Retrieved 22 August 2010.
  2. Bjoern Andres; Ullrich Koethe. "Runtime-Flexible Multi-dimensional Arrays and Views for C++98 and C++0x". arXiv:1008.2909 [cs.DS].Bjoern Andres; Ullrich Koethe; Thorben Kroeger; Hamprecht (2010). "Runtime-Flexible Multi-dimensional Arrays and Views for C++98 and C++0x". arXiv:1008.2909 [cs.DS].
  3. Garcia, Ronald; Lumsdaine, Andrew (2005). "MultiArray: a C++ library for generic programming with arrays". Software: Practice and Experience. 35 (2): 159–188. आइ॰एस॰एस॰एन॰ 0038-0644. डीओआइ:10.1002/spe.630.Garcia, Ronald; Lumsdaine, Andrew (2005). "MultiArray: a C++ library for generic programming with arrays". Software: Practice and Experience. 35 (2): 159–188. doi:10.1002/spe.630. ISSN 0038-0644. S2CID 10890293.
  4. . Veldhuizen, Todd L. (December 1998). Arrays in Blitz++ (PDF). Computing in Object-Oriented Parallel Environments. Lecture Notes in Computer Science. Vol. 1505. Springer Berlin Heidelberg. pp. 223–230. doi:10.1007/3-540-49372-7_24. ISBN 978-3-540-65387-5. Archived from the original (PDF) on 9 November 2016.
  5. Black, Paul E. (13 November 2008). "array". Dictionary of Algorithms and Data Structures. National Institute of Standards and Technology. अभिगमन तिथि 22 August 2010.Black, Paul E. (13 November 2008). "array". Dictionary of Algorithms and Data Structures. National Institute of Standards and Technology. Retrieved 22 August 2010.