Abstract Data Type Kya Hai

Abstract Data Type Kya Hai. आज की दुनिया कंप्यूटर पर पूरी तरह से आश्रित होती जा रही हैं और हो भी क्यो नही क्योंकि कंप्यूटर और computer application ने हमारी जिंदगी के हर हिस्से पर अपनी पकड़ बनाकर उसे आसान बना दिया हैं। Computer एप्लीकेशन को develop करने वाले developers जिंदगी की समस्याओं को समझकर उसे कंप्यूटर प्रोग्राम के माध्यम से सुलझाने का प्रयास करते हैं।

सामान्य जिंदगी में हमारे सामने हजारों समस्याएं होती हैं और हम उसका समाधान करने की कोशिश करते हैं, जबकि एक computer प्रोग्रामर उन समस्याओं को समझकर उसे कंप्यूटर के डेटा में बदलकर उसे कंप्यूटर में प्रोसेस करवाकर सुलझाने का प्रयास करता हैं।  सामान्य जिंदगी में आने वाली समस्याओं में कुछ बाते ऐसी होती हैं, जिनसे उस समस्या का समाधान किया जा सकता हैं, जबकि कुछ बातें ऐसी होती हैं, जिनका कोई मतलब नही होता हैं।

Computer प्रोग्रामर के सामने सबसे बड़ी समस्या ये होती हैं कि वह उन बातों को अलग करें जो समस्या के समाधान में सहायक हैं और उन बातों को भी अलग करें , जो समस्या के समाधान में सहायक नही हैं लेकिन उपस्थित हैं। जब एक कंप्यूटर प्रोग्रामर इस तरह से किसी भी डाटा को अलग अलग करता हैं तो इसे ही Abstraction कहते हैं।

Abstract Data Type Kya Hai

Abstract data type (ADT) किसी भी ऑब्जेक्ट के व्यवहार या प्रकार के संचालन या आपरेशन के प्रकार  के संचालन के रूप में डिफाइन किया जाता हैं।

 एडीटी की परिभाषा में केवल यह उल्लेख किया गया है कि कौन से ऑपरेशन किए जाने हैं, लेकिन यह नहीं कि इन ऑपरेशनों को कैसे लागू किया जाएगा।  इसकी परिभाषा हमें ये भी नही बताती की मेमोरी में डेटा कैसे व्यवस्थित किया जाएगा और संचालन को लागू करने के लिए कौन से एल्गोरिदम का उपयोग किया जाएगा।  इसे  ही “abstract” कहा जाता है क्योंकि इससे हमें implementation-independent view मिलता हैं।

केवल essentials प्रदान करने और जानकारी छिपाने की प्रक्रिया को abstract data के रूप में जाना जाता है।

Data type के उपयोगकर्ता को यह जानने की आवश्यकता नहीं है कि उस data type को कैसे काम मे लिया जाता है, उदाहरण के लिए, हम int, float, char data types जैसे Primitive values का उपयोग केवल इस ज्ञान के साथ कर रहे हैं कि ये data type को बिना किसी के संचालित किया जा सकता हैं ।

उन्हें कैसे लागू किया जाता है, इसका विचार नही किया जाता हैं ।  तो एक उपयोगकर्ता को केवल यह जानने की जरूरत है कि डेटा प्रकार क्या कर सकता है, लेकिन यह नहीं कि इसे कैसे कार्यान्वित किया जाएगा।  हम ADT को एक ब्लैक बॉक्स के रूप में भी समझ सकते हैं।

जिस तरह से किसी भी ब्लैक बॉक्स में उससे सम्बंधित जानकारी छुपी होती हैं ठीक उसी तरह से ADT भी DATA की आंतरिक संरचना और डिज़ाइन को छुपाता है।  अब हम तीन प्रकार की एडीटी को आगे परिभाषित करेंगे,

जैसे –

  • List ADT,
  • Stack ADT,
  • Queue ADT

List Abstract Data Type Kya Hai

1. जैसे कि इसके नाम से ही पता चलता हैं कि इसमें डाटा को लिस्ट या फिर key sequence में स्टोर किया जाता हैं । इस list में डाटा की तुलना के लिए count, pointers and address of compare function needed to compare को काम मे लिए जाता हैं ।

2. डेटा नोड में data structure के लिए पॉइंटर और एक सेल्फ़-रेफ़रेंशियल पॉइंटर होता है जो सूची में अगले नोड को इंगित करता है।



List ADT के फंक्शन निम्न हैं

किसी भी डाटा स्ट्रक्चर या ADT को मेंटेन करने या फिर इसे काम लेने के लिए कुछ operations की आवश्यता होती हैं, जो कि निम्न हैं –

1. Searching –

किसी भी डेटा बेस से किसी भी एलिमेंट को ढूंढने की प्रक्रिया को searching कहते हैं और ये दो प्रकार से काम करती हैं

i. Binart search

ii. Linear search



2. Shorting –

डाटाबेस को मैनेज करने के लिए एक प्रकार उसे व्यवस्थित करना होता हैं और इसे ही shorting करना कहते हैं। ADT में अनेक प्रकार से शॉर्टिंग की जा सकती हैं

जैसे – selection sort, bubble sort, radix sort insertion sort

3. insertion-

ADT में किसी भी नए एलिमेंट की एंट्री करने या फिर उसे जोड़ने की प्रक्रिया को ही insertion कहते हैं। किसी भी ADT में किसी भी एलिमेंट को ऐड करने की एक सीमा होती हैं। जैसे कि अगर किसी डाटा स्ट्रक्चर का साइज n हैं तो हम इसमें सिर्फ n-1 ही एलिमेंट ऐड कर सकते हैं।

4. Deletion –

किसी भी एलिमेंट को डाटा स्ट्रक्चर से हटाना ही deletion कहलाता हैं। इसके द्वारा हम कही से भी किसी भी एलिमेंट को हटा सकते हैं या रिमूव कर सकते हैं।

5. Traversing –

डाटा स्ट्रेक्चर में डाटा को Travers करना ही Traversing कहलाता हैं।

6. Merging –

काफी बार ऐसा हो जाता हैं कि एक ही प्रकार के एलिमेंट दो अलग अलग लाइनो में आ जाते हैं तो उन्हें merg करने की आवश्यकता होती हैं। दो lines में उपस्थित एक ही प्रकार के एलिमेंट को एक ही line में।लाने की प्रक्रिया को merging करना कहते हैं।

Stack Abstract Data Type Kya Hai

1. स्टैक एडीटी implementation में डेटा को प्रत्येक नोड में संग्रहीत करने के बजाय, डेटा का pointer में स्टोर किया जाता है।

2. इसमें प्रोग्राम डेटा के लिए मेमोरी allote करता है और address को स्टैक एडीटी को भेज दिया जाता है।

3. हेड नोड और डेटा नोड्स ADT में इनकैप्सुलेटेड होते हैं।  कॉलिंग फ़ंक्शन केवल पॉइंटर को स्टैक पर देख सकता है।

 4. स्टैक हेड स्ट्रेक्चर में टॉप पर एक पॉइंटर भी होता है और वर्तमान में स्टैक में कितनी एंट्री की गई है इसकी भी गणना की गई हैं।

स्टैक में निम्न ऑपरेशन को आसानी से पूरा किया जा सकता हैं –

1. Push

इसके द्वारा किसी भी स्टैक में टॉप पर किसी भी एलिमेंट की एंट्री की जा सकती हैं ।

2. Pop –

इस ऑपरेशन की मदद से आप स्टैक में टॉप पर की गई एंट्री को कभी भी हटा सकते हैं और फिर से ला भी सकते हैं।

3. Peek –

इस ऑपरेशन की मदद से अगर स्टैक खाली नही है तो आप बिना स्टैक को रिमूव किए बिना ही सीधे टॉप पर पहुंच सकते हैं।

4. Size –

स्टैक में कितने एलिमेंट की एंट्री की गई हैं , size ऑपरेशन के द्वारा आप इसका पता आसानी से लगा सकते हैं ।

Queue Abstract Data Type Kya Hai

1. Queue ADT पूरी तरह से स्टैक ADT को फॉलो करता हैं या फिर हम कह सकते हैं कि यह स्टैक ADT का ही एक नया रूप हैं।

2. Queue ADT में हर एक नोड में डाटा के लिए एक void point और अगले एलिमेंट के लिए पॉइंटर होता हैं। इस प्रोग्राम की जिम्मेदारी होती हैं डाटा को स्टोर करने के लिए स्टोर उपलब्ध करवाना।

Queue ADT के ऑपरेशन निम्न हैं –

1. Enqueue

किसी भी queue के अंत में किसी भी एलिमेंट की एंट्री के लिए इसका उपयोग किया जा सकता हैं ।

2. Dequeue

अगर queue खाली नही है तो first एलिमेंट को हटाने एक लिए इसका उपयोग किया जा सकता हैं ।

Advantages Of Abstract Data Type Kya Hai

अभी तक हमने ADT के बारे में जानकारी प्राप्त की हैं।

 अब हम आपको ADT के फायदे क्या क्या हैं , इसके बारे में सम्पूर्ण जानकारी देने वाले हैं

1. ADT के द्वारा तैयार की गई किसी भी जानकारी को हम हार्ड डिस्क में स्टोर कर सकते हैं। इसी के साथ इस स्टोर की गई जानकारी में हक़ बाद में काम मे भी ले सकते हैं ।

2. ADT का सबसे बड़ा फायदा ये हैं कि आप इसकी सहायता से बड़े से बड़े डेटा बेस को आसानी से मैनेज कर सकते हैं, जो किसी ओर तरीके से सम्भव नही हैं।

3. ADT के बिना किसी भी अल्गोरिथम को डिजायन नही किया जा सकता हैं और हम ये बात अच्छे से जानते हैं कि किसी भी समस्या को प्रोसेस करने के लिए जो प्रोग्रामिंग तैयार की जाती हैं, वह डाटा स्ट्रेक्चर और अल्गोरिथम का ही एक कॉम्बिनेशन होता हैं।

4. ADT के द्वारा हम सॉफ्टवेयर सिस्टम पर डाटा को प्रोसेस कर सकते हैं , मैनेज कर सकते हैं और आसानी से काम भी ले सकते हैं।

5. ADT के द्वारा किसी भी डाटा की प्रोसेसिंग को काफी आसान और सरल बनाया जा सकता हैं।

6. ADT से हमे ये सुविधा भी मिलती हैं कि हम इंटरनेट के माध्यम से अपने डाटा को लैपटॉप या फिर मोबाइल के माध्यम से कही से भी एक्सेस कर सकते हैं।

7. किसी भी प्रोग्रामिंग को बनाने वाला प्रोग्रामर अगर सही तरीके से ADT का उपयोग कर पाता हैं तो वह बहुत ही कम समय मे एक अच्छा और मजबूत प्रोसेसिंग सिस्टम डेवेलोप कर सकता हैं और अपना बहुत सा समय भी बचा सकता हैं।

8. जब भी कोई प्रोग्रामर ADT के द्वारा किसी प्रोग्रामिंग को प्रोग्राम करता हैं तो उसे इसके इंटरनल स्ट्रेक्चर के बारे में चिंता करने की आवश्यकता नही होती क्योंकि ADT के द्वारा क्लाइंट को सिर्फ इसका इंटरफ़ेस ही दिखाई देता हैं, इंटरनल वर्किंग दिखाई नही देती।

9. एक बार तैयार किए गए डाटा स्ट्रक्चर को अलग अलग समय पर बहुत से क्लाइंट काम ले सकते हैं।

Abstract Data Type Kya Hai Disadvantages

जिस प्रकार से हर एक अच्छी चीज के साथ कुछ बुरा भी जुड़ा होता हैं, ठीक उसी प्रकार ADT के फायदों के साथ साथ इसके कुछ नुकसान भी हैं । जो कि निम्न हैं-

1. ADT कि सबसे बड़ी खामी ये हैं कि सामान्य यूजर इसके डाटा स्ट्रक्चर में बदलाव नही कर सकता । इसके डेटा स्ट्रक्चर में बदलवा करने के लिए एडवांस यूजर्स की आवश्यकता होती हैं।

2. पहली बात तो ADT के डेटा स्ट्रक्चर में कभी कोई प्रॉब्लम नही आती हैं लेकिन फिर भी यदि को समस्या आ जाती हैं तो इसे सिर्फ एक एक्सपर्ट ही सॉल्व कर सकता हैं , एक सामान्य यूजर्स इसे ठीक नही कर सकता।

3. हाँ ये बात सही हैं कि ADT के द्वारा एक बड़े डाटाबेस को मैनेज करना काफी आसान होता हैं लेकिन इसी के साथ जितना बड़ा डेटा बेस होता जाएगा उतने ही ज्यादा हमें मेंटेन करने वाले और creat करने वाले लोगो की आवश्यक्ता होगी, जिससे इस पर आने वाली लागत काफी बढ़ जाएगी।



FAQ

ADT क्या हैं ? –

ADT एक प्रकार का डेटा स्ट्रेचर का हैं। इसे DATA स्ट्रेचर का ब्लैक बॉक्स माना जा सकता हैं जिसके प्रोग्राम की इंटरनल जानकारियां छिपी होती हैं। जिसे एक स्पेसिफिक व्यक्ति ही ACCESS कर सकता हैं।

ADT कितने प्रकार की होती हैं ?

अगर हम DATA स्ट्रेक्चर में ADT के प्रकार की बात करें तो ये तीन प्रकार की होती हैं

  • List ADT
  • Stack ADT
  • Queue ADT

क्या कोई भी व्यक्ति ADT के डेटा स्ट्रेचर में बदलाव कर सकता हैं ?

नही क्योंकि ADT में तैयार किये गए डाटा स्ट्रेक्चर में सिर्फ एक्सपर्ट ही बदलाव कर सकते हैं क्योंकि ADT DATA स्ट्रेक्चर के लिए एक तरीके का BLACKBOX हैं। जिसे हर कोई नही खोल सकता।

क्या ADT के द्वारा कितने ही बड़े DATA BASE को मैनेज करना आसान होता हैं ?

हाँ ADT के द्वारा आप कितने ही बड़े DATABASE  को मैनेज कर सकते हैं लेकिन जितना बड़ा DATABASE होता जाता हैं , उतने ही अनुपात में उसे मैनेज करने और क्रिएट करने के लिए लोगो की आवश्यकता होती हैं, जिसके कारण इस पर आने वाला खर्च लगातार बढ़ता जाता हैं।

ADT के DATA स्ट्रेक्चर को मैं दुनिया के किसी दूसरे हिस्से में काम ले सकता हूँ ?

ADT की यही सबसे बड़ी खूबी होती हैं कि आप इसे इंटरनेट के माध्यम से दुनिया मे कही भी इसे ACCESS कर सकते हैं साथ ही साथ आप इसे HARD DISK में भी स्टोर कर सकते हैं और इसे बाद में काम मे भी ले सकते हैं ।

निष्कर्ष :

उपर हमने Abstract Data Type Kya Hai जैसे डेटा स्ट्रक्चर को समझाने का प्रयास किया हैं । जहां ADT के बहुत से फायदे हैं तो कुछ इसके नुकसान भी हैं। जहां ADT ने हमारी दुनिया को बेहतर बनाया हैं और लगातार बेहतर बना भी रही हैं, वही ADT भी लगातार नए नए बदलावों के साथ बदल भी रही हैं।

ADT एक एक्सपर्ट लेवल का डेटा स्ट्रक्चर हैं, तो वही इसमें थोड़ा बदलवा करके इसे सामान्य यूजर्स के उपयोग के लिए भी आसान बनाने की आवश्यकता हैं।


Difference Of Calculator And Computer.

Computer की प्रकार.Types Of Computer.

Tuple Kya Hai| Tuple In Computer Science. (Python And DBMS)


LEAVE A REPLY

Please enter your comment!
Please enter your name here