Introduction of Data Structure.
एक ही तरह से data को store और Organize करके आप अलग अलग Problems को Solve नहीं कर सकते है। अलग अलग तरह की Problems को Solve करने के लिए आपको अलग अलग तरह के Data Structures Create करने की आवश्यकता होती है।
हर तरह के Data Structure का Data Organization Mechanism और Operational Behaviour अलग अलग होता है जो उसे दूसरे Data Structures से अलग बनाता है।
Data Structure किसी कंप्यूटर सिस्टम में Data को Store तथा व्यवस्थित (Organise) करने का एक तरीका होता है। जिससे कि हम Data का आसानी से इस्तेमाल कर सकें।
अर्थात डेटा को इस प्रकार स्टोर तथा Organise किया जाता है कि उसको बाद में किसी भी समय आसानी से Access किया जा सकें।
डाटा को व्यवस्थित करने के लॉजिकल (Logical) या गणितीय (Mathematical) Model को भी Data Stucture कहा जा सकता है।
सरल शब्दों में, Data Stucture एक Computer System में Data Storage करने और व्यवस्थित करने का एक तरीका है। ताकि हम आसानी से Data का उपयोग कर सकें।
Data Stucture इतनी सरल होनी चाहिए कि कोई भी Computer Progammer को किसी भी Programing Language में Code लिखकर Data को आसानी से Processed कर सकते हैं।
उदाहरण के लिए कुछ Data Structures आपको Programming Languages द्वारा पहले से Provide किये जाते है और कुछ Data Structures आप स्वयं Create करते है।
कुछ Data Structures Simple होते है और कुछ Data Structures बहुत complex होते है। कुछ Data Structures User द्वारा Operations Allow करते है और कुछ Data Structure Automatically भी Operations Perform करते है।
ऐसी ही विशेषताएँ (characteristics) के आधार पर Data Structures को अलग अलग Categories में विभाजित (divided किया गया है। इसे निचे Block Diagram द्वारा दिखाया गया है।
Types of Data Structure.
दोस्तों data structure की बात करे तो यह दो प्रकार के होते है जैसा की आप निचे List में देख सकते हो तो चलिए अब एक-एक इनके बारे में जानते है।
- Primitive
- Non-primitive
Primitive Data Structure:- उदाहरण के लिए कुछ data structures आपको programming languages द्वारा पहले से provide किये जातेहै और कुछ data structures आप स्वयं create करते है।
कुछ data structures simple होते है और कुछ data structures बहुत complex होते है।
कुछ data structures user द्वारा operations allow करते है और कुछ data structure automatically भी operations perform करते है।
ऐसी ही characteristics के आधार पर data structures को अलग अलग श्रेणियों में विभाजित किया गया है। इसे निचे block diagram द्वारा दिखाया गया है।
Integer :इसमें दशमलव के अलावा अन्य सभी संख्याएं हैं, इन्टिजर डिफाइन करने के लिएintका प्रयोग किया जाता है। उदाहरण- int a =7;
Character: करैक्टर का उपयोग C भाषा में एक अल्फ़ाइबेट को डिफाइन करने के लिए किया जाता है। करैक्टर डिफाइन करने के लिएcharका प्रयोग किया जाता है तथा उस करैक्टर को ”(Single Quote) में डाला जाता हैं।
उदाहरण- char ‘x’डबल(Double): डबल एक मूलभूत डेटा प्रकार है जिसे कंपाइलर में बनाया गया है और दशमलव अंकों के साथ संख्या वाले संख्यात्मक वेरिएबल्स को डिफाइन करने के लिए उपयोग किया जाता है।
Float:दशमलव संख्या को फ्लोट में डिफाइन किया जाता है। फ्लोट में इन्टिजर का मान भी डिफाइन होता है किसी भी संख्या को फ्लोट में डिफाइन करने के लिएfloatका प्रयोग किया जाता है। उदाहरण-float a =4.2;
String: करैक्टर्स के समूह को स्ट्रिंग कहा जाता है। स्ट्रिंग को डिफाइन करने के लिए string का प्रयोग किया जाता है और स्ट्रिंग को “Double Quote” में डाला जाता है। उदाहरण-string “shivam
Non-primitive Data structure:- primitive डेटा स्ट्रक्चर वह डेटा स्ट्रक्चर होता है जिसे direct मशीन instructions से operate नही किया जा सकता है। ये डेटा स्ट्रक्चर primitive डेटा स्ट्रक्चर से derived होते है। Non-primitive डेटा स्ट्रक्चर दो प्रकार का होता है|
- Linear
- Non-linear
1. Linear Data Sturcture
Linear data structures ऐसे data structures होते है जो elements को linearsequence में store करते है।
उदाहरण के लिए एक array केelements continuous locations पर एक बाद एक store होते है
linear एक ऐसा डेटा स्ट्रक्चर है जिसमें डेटा items को linear(रेखीय) रूप में संग्रहित तथा व्यवस्थित किया जाता है, जिसमें एक डेटा item दूसरे से एक रेखा के रूप में जुड़ा होता है। ex:-array,linked list,queue,stack.
Array
एक array सबसे simple non primitive linear data structure होता है। Array में elements contiguous memory locations में store किये जाते है। एक array same (data) type के variables का collection होता है जिसे एक common नाम के द्वारा presentकिया जाता है।
उदाहरण के लिए आप floatingpoint numbers का एक array create कर सकते है और उसमे floating point numbers को store कर सकते है।
Stack
Stack एक linear data structure है जिसमें elements एक ही तरफ से (top) add और removeकिये जाते है। Stack में elements उसी प्रकार organize किये जाते है जिस प्रकार किसी restaurant में plates को (एक के ऊपर एक) organize किया जाता है।
जिस प्रकार सबसे आखिर में रखी गयी plate सबसे पहले उठाई जाती है। उसी प्रकार किसी stack में सबसे आखिर में insert किया गया element सबसे पहले access होता है और सबसे पहले insert किया गया element सबसे आखिर में access होता है।
Queue
एक queue ऐसा data structure होता है जिसमे elements को एक तरफ से (पीछे की तरफ से) insert किया जाता है और दूसरी तरफ से (आगे की तरफ से) remove किया जाता है।
जिस प्रकार आप किसी line में खड़े होते समय सबसे आखिर में खड़े होते है और service पाने के बाद सबसे आगे से जाते है। उसी प्रकार एक queue data structure भी First In First Out order में काम करता है जिसमे elements एक side से insert किये जाते है और दूसरी side से remove किये जाते है।
Singly Linked Lists
एक linked list data structureelements का linear collection होताहै। Linked list data structure में एक element दूसरे element को point करता है। हर element के साथ एक Next pointer या link node जुडी हुई होती है जो list के अगले element को memory में point करती है।
Linked list के द्वारा आप arrays की drawbacks को overcome कर पाते है और एक ऐसा data structure उपयोग कर पाते है जो memory का सही utilization करता है और जिसमे operations आसानी से perform किये जा सकते है।
2. Non-linear data structure
Non-linear एक ऐसा डेटा स्ट्रक्चर है, जिसमें डेटा items को क्रमबद्ध (sequential) तरीके से व्यवस्थित नही किया जाता है। जिसमें एक डेटा item किसी भी अन्य डेटा items के साथ जुड़ा हुआ हो सकता है। ex:-tree,graph.
Trees
Tree data structures का प्रयोग ऐसे data को represent करने के लिए किया जाता है जिसमें किसी entity और उसके attributes में hierarchical relationship होती है। Tree data structure में data और उसकी entities parent nodes और child nodesके रूप में represent की जाती है।
एक linked list में एकnode किसी दूसरी एक हीnode को point करती है लेकिन एक tree data structure में एक node कई nodes को point कर सकती है। Tree data structure में child nodes की भी child nodes हो सकती है।
Graphs
Graphs non-linear data structures होते है जिनका प्रयोग कई प्रकार से किया जाता है। Graphs का प्रयोग electrical circuits के analysis के लिए, shortest routes ढूँढने के लिए, project planning के लिए, highway, landlines और railway lines आदि को represent करने के लिए भी graphs का प्रयोग किया जाता है।
Data Structure Operations
Traversing:डेटा की संरचना में किसी भी रिकॉर्ड को एक्सेस करना या विज़िट को ट्रैविसिंग कहा जाता है।Searching:डेटा संरचना में रिकॉर्ड के स्थान को खोजना सर्चिंग कहा जाता है।
Inserting:डेटा संरचना में एक नया रिकॉर्ड जोड़ना इंसेरटिंग कहा जाता है।
Deletingडेटा संरचना में एक रिकॉर्ड को हटाना डिलीटिंग कहा जाता है।
Sortingडेटा संरचना में किसी रिकॉर्ड को लॉजिकल क्रम में व्यवस्थित करना सॉर्टिंग कहा जाता है।
Mergingडेटा संरचना में, जो रिकॉर्ड दो अलग- अलग फाइलों में संग्रहित होते है उसे एक सिंगल फाइल में जोड़ने को मर्जिंग कहा जाता है।
Thank you so much ��
ReplyDeleteThank You Rakesh
Delete