Data structure किसी कंप्यूटर सिस्टम में डेटा को स्टोर तथा व्यवस्थित (organize) करने का एक तरीका होता है। जिससे कि हम डेटा का आसानी से इस्तेमाल कर सकें। अर्थात डेटा को इस प्रकार स्टोर तथा organize किया जाता है कि उसको बाद में किसी भी समय आसानी से access किया जा सकें।
डाटा स्ट्रक्चर C, C++, Java की तरह कोई programming भाषा नहीं है बल्कि यह algorithms का एक set है जिसका प्रयोग हम programming languages में data को structure करने के लिए करते हैं। Data structure बहुत सारें computer science algorithms का एक मुख्य भाग है जिसके द्वारा programmers डाटा को अच्छे ढंग से handle कर सकते हैं. यह program या software की performance को बेहतर करने में बहुत ही अहम भूमिका निभाता है।
Types of Data Structure

data structure दो प्रकार के होते है:-
1. Primitive डेटा स्ट्रक्चर
2. Non-primitive डेटा स्ट्रक्चर
1. Primitive डेटा स्ट्रक्चर:- primitive डेटा स्ट्रक्चर वह डेटा स्ट्रक्चर होता है जिसे direct ही मशीन instructions से operate किया जा सकता है। अर्थात यह सिस्टम तथा compiler के द्वारा डिफाइन होता है।
Non-primitive डेटा स्ट्रक्चर:- primitive डेटा स्ट्रक्चर वह डेटा स्ट्रक्चर होता है जिसे direct मशीन instructions से operate नही किया जा सकता है। ये डेटा स्ट्रक्चर primitive डेटा स्ट्रक्चर से derived होते है।
Non-primitive डेटा स्ट्रक्चर दो प्रकार का होता है:-
1. Linear डेटा स्ट्रक्चर
2. Non-linear स्ट्रक्चर
1. Linear data structure
linear एक ऐसा डेटा स्ट्रक्चर है जिसमें डेटा items को linear (रेखीय) रूप में संग्रहित तथा व्यवस्थित किया जाता है, जिसमें एक डेटा item दूसरे से एक रेखा के रूप में जुड़ा होता है।
ex:- array, linked list, queue, stack.
2. Non-linear data structure
Non-linear एक ऐसा डेटा स्ट्रक्चर है, जिसमें डेटा items को क्रमबद्ध (sequential) तरीके से व्यवस्थित नही किया जाता है।
जिसमें एक डेटा item किसी भी अन्य डेटा items के साथ जुड़ा हुआ हो सकता है।
ex:-tree, graph.
Advantage of Data structure – डाटा स्ट्रक्चर के फायदे
इसके लाभ निम्नलिखित हैं.
- इसके द्वारा हम information को हार्ड डिस्क में store कर सकते हैं. और इस information का प्रयोग हम बाद में कर सकते हैं.
- बहुत बड़े database को हम आसानी से manage कर सकते हैं.
- यह algorithms को design करने के लिए बहुत ही जरुरी होता है.
- इसके द्वारा हम software system पर data का उपयोग कर सकते है और उसे process भी कर सकते हैं.
- यह data की processing को बहुत ही आसान बना देता है.
- हम internet का प्रयोग करके अपने laptop या mobile से data को किसी भी समय access कर सकते हैं.
- अगर programmer सही data structure का प्रयोग करे तो वह अपना बहुत सारा समय बचा लेता है और इसके साथ साथ storage और processing time को भी save कर पाता है.
- वह डाटा स्ट्रक्चर जो abstract data type (ADT) के द्वारा specify होता है वह abstraction प्रदान करता है. जिससे client डाटा स्ट्रक्चर के internal working को नहीं देख सकता है, इसलिए इसे working part के बारे में चिंता करने की आवश्यकता नहीं है। क्लाइंट केवल इंटरफ़ेस देख सकता है।
- डेटा स्ट्रक्चर reusability प्रदान करता है जिसका अर्थ है कि data structure को बहुत सारें clients प्रयोग कर सकते हैं.
Disadvantage of Data Structure
इसकी हानियाँ निम्नलिखित हैं:-
- केवल advance users ही data structure में बदलाव कर सकते हैं.
- अगर कभी डाटा स्ट्रक्चर में कोई problem आ गयी तो उसे केवल expert ही solve कर सकता है. Basic users इसे solve नहीं कर सकते.
- अगर हमारा डाटा स्ट्रक्चर बहुत बड़ा है तो उसे maintain और create करने में बहुत सारें लोगो की जरूरत पड़ती है. जिससे इसका cost (मूल्य) बढ़ता है.
operations
इसके मुख्य operations (कार्य) नीचे दिए गये हैं:-
- Searching – किसी element को find करने की प्रक्रिया searching कहलाती है. searching को पूरा करने की दो algorithms होती हैं पहला binary search और दूसरा linear search.
- Sorting – डाटा structure को किसी विशेष क्रम में arrange करने की प्रोसेस sorting कहलाती है. sorting को perform करने की बहुत सारीं algorithms है जैसे कि – insertion sort, selection sort, bubble sort, radix sort आदि.
- Insertion – किसी location में elements को add करने की प्रक्रिया insertion कहलाती है. यदि किसी डाटा स्ट्रक्चर का size n है तो हम उसमें केवल n-1 elements ही insert कर सकते हैं.
- Deletion – किसी element को remove करने की प्रोसेस deletion कहलाती है. हम किसी भी location से data को delete कर सकते है.
- Traversing – Traversing का मतलब है कि किसी विशेष कार्य को करने के लिए data structure के प्रत्येक element को traverse करना.
- Merging – दो ऎसी list जिनमें समान प्रकार के data elements हों, को एक साथ जोड़ देना merging कहलाती है. जिससे हमें एक तीसरी list प्राप्त होती है.
Characteristics of Data Structure – डाटा स्ट्रक्चर की विशेषताएं
- यह operations का समूह होता है जिनको data items में परफॉर्म किया जाता है जैसे:- searching, sorting आदि.
- यह describe करता है कि data items एक दूसरे से किस प्रकार सम्बन्धित होते हैं.
- data structure के operations का execution time जितना संभव हो उतना कम होना चाहिए.
- इसके operations का memory usage जितना संभव हो उतना कम होना चाहिए.
- इसे interface को सही ढंग से implement करना चाहिए.