What is Data Structure [Types of Data Structure]
Data Structure क्या हैं?
Data structure कंप्यूटर की मुख्य मेमोरी (RAM) में डेटा को व्यवस्थित और
संग्रहित करके रखने का एक विशेष तरीका होता है जिससे data को प्रभाशाली ढंग से
(efficiently) प्रयोग के लाया जा सके। दूसरे शब्दों में program में data को
विभिन्न प्रकार से व्यवस्थित किया जाता है किसी एक व्यवस्था के logical एवं
mathematical format को ही Data structure कहते हैं। Data Structure विशेष रूप से
उन Program को लिखने में बहुत उपयोगी होता है जिसमें किसी बड़े database को manage
करना होता है। यह मुख्यतः निम्नलिखित समस्याओं को हल करने का कार्य करता है:
- Memory में data कैसे व्यवस्थित (organize) किया जाए।
- Memory में data को कैसे संग्रहित (store) किया जाए।
-
Memory से data को कैसे पुनः प्राप्त (access) एवं परिवर्तित (change) किया
जाए। -
अलग-अलग data items के माध्य कैसे तार्किक (Logical) व गणितीय (mathematical)
संबंध निर्मित किया जाए।
Types of Data Structure in Hindi:
है:
- Primitive Data Structure
- Non-Primitive Data Structure
Primitive Data Structure क्या हैं?
बनाए गए variable में एक समय मे केवल एक ही data items (value/element) को store
करके रखा जा सकता है। इन Data Structure का प्रयोग अधिकतम छोटे Program को लिखने
के लिए किया जाता है जिसमे बहुत अधिक मात्रा में data को store नही करना होता है।
इनके प्रयोग से ऐसे प्रोग्राम को नही लिख जा सकता जिसमे किसी बड़े database को
बनाया एवं manage होता है क्योंकि इसकी सहायता से बनाए गए variables मेमोरी में
अलग-अलग location पर अव्यवस्थित रूप से store होते हैं। इन variables के मध्य कोई
तार्किक संबंध भी नही होता है जिसके कारण इनमें store Data को प्रभावशाली तरीके
से प्रयोग में नही लाया जा सकता है।
Char
परिभाषित एवं संग्रहित लिए किया जाता है। इसकी सहायता से बनाए गए variables
में -128 से 127 तक के range के ASCII value वाले अक्षरों जैसे- Alphabets
(A-Z, a-z), digits (0-9), Special symbols (+ – * / % & etc.) को store
किया जा सकता है char variable memory में 1 Byte स्थान लेता है।
Int
को परिभाषित एवं संग्रहित करने के लिए किया जाता है। इसकी सहायता से बनाए गए
variables में -32768 से 32767 तक के range के पूर्णाक संख्याओं जैसे: -100, 0,
100 आदि को store किया जा सकता है। int variable मेमोरी में 2 byte स्थान लेता
है।
उदाहरण: int num=’100′;
Float
data) को परिभाषित एवं संग्रहित करने के लिए किया जाता है। इसकी सहायता से
बनाए गए variable में -3.4×1038 से 3.4×1038 तक के
range के दशमलव संख्याओं जैसे: -100.000000, 0.000000, 100.000000 आदि को
store किया जा सकता है। int variable मेमोरी में 4 byte स्थान लेता है।
Double
data) को परिभाषित एवं संग्रहित करने के लिए किया जाता है। इसकी सहायता से
बनाए गए variables में -1.7×10308 से 1.7×10308 तक के
range के दशमलव संख्याओं जैसे: -100.000000, 0.000000, 100.000000 आदि को
store किया जा सकता है। इसका प्रयोग समान्यतः वैज्ञानिक गणनाओं को करने के
लिए किया जाता है जिसमें यातो बहुत बड़े या बहुत छोटे संख्याओं की आवश्यकता
पड़ती है। double variable मेमोरी में 8 byte स्थान लेता है।
Void
Non-Primitive Data Structure क्या हैं?
अतः हम इस समस्या के समाधान के लिए Primitive Data Structure को ही group में
रखकर एक नया Data Structure बनाते हैं जिसे Non-Primitive Data Structure कहते
हैं। इनकी सहायता से बनाए गए variable में एक समय मे एक से अधिक data items
को store किया जा सकता है।
इनके प्रयोग से ऐसे program को आसानी से लिखा जा सकता
है जिनमें किसी बड़े database को बनाने एवं manage करने की जरूरत पड़ती है क्योंकि
इनके variables में store data items memory में एक के बाद एक व्यवस्थित रूप से
store रहते हैं। उनके मध्य एक निश्चित गणितीय या तार्किक संबंध भी होता है जिससे
उन्हें प्रभावशाली तरीके से प्रयोग में लाया जा सकता है।
Non-Primitive Data
Structure भी दो प्रकार के होते हैं- Linear और Non-Linear. Linear Data
structure में element एक line या sequence में store होते हैं जबकि Non-Linear
Data Structure में element एक line या sequence में store नही होते हैं।
Array
type के एक से अधिक data items store किए जा सकते हैं। इसमें store सभी data
items का एक ही नाम होता है लेकिन उनका index अलग-अलग होता है जिसकी सहायता से ही
हम array के सभी data items को access करते हैं। Array निम्नलिखित तीन
प्रकार के होते है:
- One Dimensional Array
- Two Dimensional Array
- Three Dimensional Array
Linked List
कहते हैं। इसमे प्रत्येक node के दो भाग होते हैं। पहले भाग को info field कहते
हैं जिसमे data store होता है एवं दूसरे भाग को link field कहते हैं जिसमे next
node का address store होता है।
अतः दूसरे भाग एक pointer होता है जो linked list
में next node को point करता है इसलिए इसे next pointer भी कहते हैं। हम next
pointer की सहायता से ही linked list में अगले node को access करते हैं। Linked
list निम्नलिखित चार प्रकार के होते हैं:
- Singly Linked List
- Circular Linked List
- Doubly Linked List
- Circular Doubly Linked List
Stack
पुराने node को किसी भी स्थान से delete भी किया जा सकता है। यदि कोई list ऐसे हो
जिसमें insertion और deletion का कार्य केवल एक ही स्थान से हो तो इस प्रकार के
data structure को stack कहते हैं।
Stack एक ऐसा data structure है जिसमें element को जिस ओर से insert किया जाता है
उसी ओर से ही उसे delete भी किया जाता है। इसमे एक open end और एक close end होता
है। Open end को stack का top कहते हैं जहाँ से element को insert एवं delete
किया जाता है। stack में element को insert एवं delete कराना last-in-first-out
(LIFO) क्रम में होता है अर्थात सबसे अंत मे insert किया गया element सबसे पहले
delete होता है। इसमें insert operation को push एवं delete operation को pop
कहते हैं। किसी party में एक के ऊपर एक रखे प्लेट stack का उदाहरण है:
Queue
हैं यदि कोई list ऐसा हो जिसमें insertion का कार्य एक स्थान से एवं deletion का
कार्य दूसरे स्थान हो तो इस प्रकार के data structure को queue कहते हैं। Queue एक ऐसा data structure है जिसमें stack के विपरीत कार्य होता है। इसमे
element को एक ओर से insert एवं दूसरे ओर से deletion किया जाता है। इसमें दो
open end होते है। जिस open end से element को insert किया जाता है उसे real कहते
हैं तथा जिस open end को element को delete किया जाता है उसे front कहते हैं।
Queue में element को insert एवं delete करना first-in-first-out(FIFO) क्रम में
होता है अर्थात सबसे पहले insert किया गया element सबसे पहले delete भी होता है।
किसी party में प्लेट लेने के लिए एक के पीछे एक खड़े लोग queue का उदाहरण है:
Tree
(inverted tree) की शाखाओं की तरह main data, sub data आदि के रूप में स्टोर किया
जाता है। इसका प्रयोग directory (folder) structure को बनाने में किया जाता है।
इसे का hierarchical order या parent child relationship भी कहते हैं। Tree को
सीमित element set के रूप में परिभाषित किया जाता है जिसके प्रत्येक element को
node कहते हैं।
इसके सबसे पहले या ऊपर के node को root node ‘R’ कहते हैं तथा
इसके किसी node ‘N’ के sub nodes को N का successor (child) कहते हैं व N को इसके
successor का predecessor (parent) कहते हैं। Tree में प्रत्येक node ले शून्य,
एक या एक से अधिक child हो सकते हैं लेकिन प्रत्येक node का केवल एक parent होता
है। इसके node N एवं इसके successors को जोड़ने वाली line को edge या branch कहते
हैं। Tree निम्नलिखित दो प्रकार के होते हैं:
- General Tree
- Binary Tree
Graph
है। इसका प्रयोग network structure जैसे- Maps आदि को बनाने में किया जाता है।
Graph को सीमित element के set के रूप में परिभाषित किया जाता है जिसके प्रत्येक
element को node, point या vertex कहते हैं एवं इसके विभिन्न node को मिलाने वाले
line को edges कहते हैं। Graph निम्नलिखित दो प्रकार के होते हैं:
- Directed Graph
- Indirect Graph
Difference Between Primitive and Non-Primitive Data Structure (Primitive और Non-Primitive में अंतर)
Primitive | Non-Primitive |
---|---|
(1)Primitive Data Structure किसी Programming भाषा के primitive data types होते हैं जिन्हें fundamental व built-in data type भी कहते हैं। | (1) Non-Primitive Data Structure किसी programming भाषा के primitive data structure को ही group में रखकर बनाया जाता है इसलिए इन्हें derived data types भी कहते हैं। |
(2) इनकी सहायता से बनाए गए variable में एक समय मे केवल एक ही variables में एक समय मे केवल एक ही data item को store किया जा सकता है। | (2) इसकी सहायता से बनाए गए variable में एक समय मे एक से अधिक data item को store किया जा सकता है। |
(3) इनके variables memory में अव्यवस्थित रूप से store होता है एवं उनके मध्य कोई गणितीय या तार्किक संबंध नही होता है। | (3) इनके variables memory में व्यवस्थित रूप से store होते हैं एवं उनके मध्य एक निश्चित गणितीय अथवा तार्किक संबंध होता है। |
(4) इसमें data को प्रभावशाली तरीके से प्रयोग में नही लाया जा सकता है। | (4) इसमे data को प्रभावशाली तरीके से प्रयोग में लाया जा सकता है। |
(5) इनका प्रयोग केवल उन छोटे प्रोग्रामो को लिखने के लिए किया जाता है जिसमें किसी बड़े database को बनाने एवं manage करने की आवश्यकता नही होती है। | (5) इनका प्रयोग उन बड़े प्रोग्रामो को लिखने के लिए भी किया जा सकता है जिसमें किसी बड़े database को बनाने एवं manage करने की आवश्यकता होती है। |
(6) उदाहरण-char, int, float, double आदि। | (6) उदाहरण-array, linked list, stack, queue, tree, graph आदि। |
Different Between Linear and Non-Linear Data structures (Linear और Non-Linear में अंतर)
Linear Data Structure | Non-Linear Data Structure |
---|---|
(1) Linear Data structure में element एक line या sequence में store होते हैं। | (1) Non-Linear Data structure में element एक line या sequence में store नही होता है। |
(2) इनका निर्माण primitive data structures की सहायता से किया जाता है। | (2) इनका निर्माण primitive data structures एवं linear data structure की सहायता से किया जाता है। |
(3) इसमें element के मध्य linear relation memory location अथवा pointer की सहायता से दिया जाता है। | (3) इसमें element के मध्य relation pointer की सहायता से दिया जाता है। |
(4) उदाहरण- array, Linked list, stack, queue. | ((4) उदाहरण- Tree, Graph. |
What is Data Structure [Types of Data Structure]
- Data Structure क्या हैं?
- Types of Data Structure: Primitive, Non-Primitive.
- Primitive Data Structure: char, int, float, double.
- Non-Primitive Data Structure: Linear, Non-Linear.
- Linear: Array, Linked List, Stack, Queue,
- Non-Linear: Tree, Graph.
खुसी है कि मैं आपके लिए कुछ का जानकारी इस ब्लॉग के माध्यम से दे सका और इसी
प्रकार किसी बारे में जानकारियां प्राप्त करना हैं तो इसके लिए आप comment
box के माध्यम से दे सकते हैं Post अच्छी लगी तो इसे दोस्तो के Share जरूर करें
धन्यवाद।