>> एक बताइए की क्या आप आईटी इंडस्ट्री में करियर को लेकर के इंट्रेस्टेड है। क्या आप सक्सेस सॉफ्टवेर इंजीनियर बनना चाहते हे, अगर हां तो डेटा स्ट्रक्चर एंड अल्गोरिधम से सॉर्ट में DSA कहा जाता हे की नॉलेज आपको जरूर से होनी चाहिए। क्यों की आज ये हर प्रोग्रामिंग लेंग्वेज का एसेंसियल पार्ट बन चूका है। और हर सॉफ्टवेर इसका युस करता हे। सॉफ्टवेर इंडस्ट्री के अलावा बैंकिंग एंड फाइनांस, हेल्थकेर, सर्विस सेक्टर, एंटरटेईनमेंट और लाइफ साईंसिस में भी इसका उस होता हे। और इसरो गूगल एमेजोम,IBM और इंफोसिस जैसी टॉप कम्पनीस भी डेटा सेक्टर एंड अल्गोरीधम का युस करती हे।
>> यानि अगर इन टूल्स पे मास्टरी हासिल हो तो ऐसी टॉप कम्पनी में जॉब मिलने के ब्राइड चांसिस भी बन सकते हे। ऐसे में आपको भी देता स्ट्रक्चर एंड अल्गोरीधम के बारेमे जरूर से जान लेना चाहिए। और इसी लिए तो हमने आज का मेसेज टाइप किया हे। ताकि इसे देखकर डेटा स्ट्रक्चर से अल्गोरिधम थी कॉन्सेप्ट समजपाये। और इसे लर्न करने के बारेमे सोच सके। हालाँकि लर्निंग थोड़ी टफ पड़ती हे।
>> इसी लिए ज्यादातर कम्प्यूटर सायंस स्टूडेंट इसको स्किप करना ही पसंद करते हे। लेकिन सायद आप इसकी इम्पोर्टेन्ट जानकर अपना इरादा बदल ले। इस लिए इस इन्फोमेटिक मेसेज को पूरा जरूर से पढ़िएगा।
>> तो चलिए सरु करते हे डेटा स्ट्रक्चर एंड अल्गोरीधम के बारेमे और पहले ये जान लीजिये की डेटा स्ट्रक्चर एंड अल्गोरीधम को लर्न करना इतना जरुरी क्यों हे। इन्हे प्रॉपर्ली लर्न करना इस लिए जरुरी हे ताकि आप वेब डेवलोपमेन्ट और प्रोग्रामिंग वर्क के ऑर्गेनाइजिंग प्रिंसिपल को समज सके।
>> ये DSA एक फंडामेंटल कॉर्डिंड कंसेप्ट हे। DSA स्कील एक प्रोग्रामर के तोर पर आपके पोर्टफोलियो में चार चाँद लगा सकती हे। स्टार्टअप और स्ट्रोंग DSA नॉलेज रखने वाले केंडिडेट को प्रेफर करती हे। DSA का युस अक्सर रिसर्च में होता है। और इसके जरिये आप बोत सारी प्रॉब्लम को सोल करना सिख सकते है।
>> ये किसी प्रोग्रामिंग लेंग्वेज तक लिमिटेड नहीं है, बल्कि इनका युस आप किसी भी प्रोग्रामिंग लेंग्वेज में कर सकते हे। यानि DSA की तो बोत ज्यादा ही इम्पोर्टेंस है।
>> चलो थोड़ी और इन्क्रेज के साथ ही इसके बारेमे जानते हे। डेटा स्ट्रक्चर एंड अल्गोरीधाम कम्प्यूटर सायंस की ब्रांच हे जो मशीन एफिशियंट और ऑप्टिमाइज़ कम्प्यूटर प्रोग्राम से डील करती है। डेटा स्ट्रक्चर टर्म डेटा स्टोरेज और ऑर्गेनाइजेशन को रेफर करती हे जो अल्गोरीधाम डिजायत आउटकम के किये गए स्टेप बाय स्टेप प्रोसीजर को रेफर करता हे। ये जो अलग अलग टूल होते है जो कम्बाइन होकर के कम्प्यूटर के प्रोग्रामर को ये फेसिलिटी देते है की वो अपनी पसंद का कम्प्यूटर प्रोग्राम बिल्ड कर सके। कुछ कॉमन डेडा स्ट्रक्चर एंड अल्गोरीधम है। लिंग लिस्ट ,टेक्स ,क्यूस ,सेट्स ,मेप्स, हेस्टेबल और सर्च क्रिस और अब इन दोनों टूल को क्लियरली समझने के लिए इनके बारेमे एक एक करके जानते है।
डेटा स्ट्रक्चर
>> कम्प्यूटर सायंस में डेटा स्टोर और ऑर्गेनाइस करने का एक स्पेसियालिस्ट फॉर्म है डेटा स्ट्रक्चर। ये डेटा स्ट्रक्चर कम्प्यूटर सायंस का की कॉम्पोनेन्ट है। और इसका युस अर्टिफिसियलिस्ट इंटेलिजेन्स और ऑपरेटिंग सिस्टम और ग्राफिक वगैरे में होता हे। ज्यादातर डेटा स्ट्रक्चर रियल लाइफ से भी इंस्पायर्ड होते हे। ये बिलकुल ऐसा हे जैसे अलमारी में कपड़ो को ऐसे सिस्टमेटिक मेनर में रखना चाहिए के नेक्स्ट टाइम आपके कोई स्पेसिफिक लोथ चाहिए तो आप आसानी से निकाल सके।
>> यानि आपके कपडे जो एक तरह का डेटा हुआ उसे ऐसे अरेंज करना चाहिए जिसमे से जरुरत पडने पर आप उसे आसानी से बिना हड़बड़ी से निकाल सके। बस इसी तरह का ऑर्गेनाइस स्ट्रक्चर होता है डेटा स्ट्रक्चर। जिसकी जरुरत अब बोत ज्यादा बढ़ गई हे। क्यों की एप्लीकेसन कॉम्प्लेक्स और डेटा रिच होती जा रही है। जिसकी बजह से एप्लीकेसन को ये कॉमन प्रॉब्लम फेस करनी पड़ती है। जिसमे डेटा सर्च प्रोसेसर स्पीड और मल्टिपल रिक्वेस्ट शामिल हे। और इन सारि प्रॉब्लम को सोल करने का तरीका डेटा स्ट्रक्चर ही होता हे।
>> क्यों की डेटा को ऐसे डेटा स्ट्रक्चर में ऑर्गेनाइस किया जा सकता है, जिसे सारे आईटम को एक ही टाइम में सर्च करने की जरुरत ना पड़े। और आसानी रिक्वायर्ड डेटा सर्च किया जा सके।
डेटा स्ट्रक्चर के दो टाइप होते है।
1 प्रिमिटिव डेटा स्ट्रक्चर
2 नॉन प्रिमिटिव डेटा स्ट्रक्चर
>> प्रिमिटिव डेटा स्ट्रक्चर प्रिमिटिव डेटा टाईप्स होते है , जिनमें INT, चार, फ्लोट , डबल और पॉइंटर डेटा स्ट्रक्चर आते है , जिसमे सिंगल वेल्यू होल्ड कर सकते है।
और नॉन प्रिमिटिव डेटा स्ट्रक्चर दो डेटा टाइप होते हे।
1 लीनियर और डेटा स्ट्रक्चर
2 नॉन लीनियर डेटा स्ट्रक्चर
>> वैसे डेटा का अरेंज मेन्ट जब एक सीक्विन्सीयल मैनेज में होता हे तो उसे लीनियर डेटा स्ट्रक्चर होता हे। ऐसे डेटा स्ट्रक्चर में एरिस ,लिंक लिस्ट, स्टेक और क्यूस आते हे।
>> इस तरह के डेटा स्ट्रक्चर में लीनियर फॉम में एक एलिमेंट केवल दूसरे एक एलिमेंट से कनेक्टेड रहते है। और जब एक एलिमेंट एक से ज्यादा एलिमेंट से कनेक्टेड रहता हे तो उसे नॉन लीनियर डेटा स्ट्रक्चर कहा जाता हे। जैसे ट्रीस और ग्राफ जिसमे एलिमेंट रेंडम तरीके से अरेंज रहते हे। इनके आलावा डेटा स्ट्रक्चर को स्टेटिक और डायनेमिक डेटा स्ट्रक्चर में भी क्लासीफ़ाय किया जा सकता है।
>> स्टेटिक में कम्पाइल टाइप पर साइज एलोकेट किया जाता हे। जिसे डेटा की मैक्सिमम साइज फिक्स होती हे। जब की डायनेमिक में रन टाइम पर साइज एलोकेट किया जाता हे। जिसे मैक्सिमम साइज फ्लेक्सिब्लिटी होती है। डेटा स्ट्रक्चर की कॉमन ओप्रेसन पे शामिल हे सर्चिंग। यानि डेटा स्ट्रक्चर में आप कोई भी एलिमेंट सर्च कर सकते है।
सॉर्टिंग
इसे हम डेटा स्ट्रक्चर के एलिमेंट को असेंडिंग और डिसेंडिंग ऑर्डर में सॉर्ट कर सकते है।
इंसर्सन
डेटा स्ट्रक्चर में कोई न्यू एलीमेन को इंसर्ट भी किया जा सकता है।
अपडेशन
एलीमेन को अपडेट भी किया जा सकता हे। यानि एक एलीमेन को दूसरे से रिप्लेस कर सकते है।
डिलेसन
यानि डेटा स्ट्रक्चर में से कोई एलीमेन को डिलीट भी किया जा सकता है।
और अब डेटा स्ट्रक्चर के बाद जानते हे अल्गोरीधाम के बारेमे
अल्गोरीधम
>> एक सर्टेन टास्क को कम्प्लेट को कम्प्लेट करने के लिए या डिजायाट आउटपुट पाने के लिए जो स्टेप युस किये जाते हे। उसके सेट को अल्गोरीधाम कहा जाता है। ये प्रोग्रामिंग के लिए ब्लॉग बिल्ड करने जैसा होता हे, जो स्मार्ट फोन, कम्प्यूटर ,और वेबसाइट को स्मूथ फंक्शन कर ले और डिसीजन लेने की परमिसन देता हे। जैसा की GPS में होता है। यानि आप कोई लोकेसन सर्च करने होते हे तो GPS अल्गोरीधाम का ही युस करके मल्टिपल मल्टिपल अवेलेबल स्मूथ को चेक करता हे। और कम्प्यूटर भी फ़ास्ट केल्कुलेसन के लिए अल्गोरीधाम का युस होता हे। लेकिन हर प्रोसीजर अल्गोरीधाम नहीं हो सकता हे। और एक अल्गोरीधाम बनने के लिए उसमे ये कैरेक्टर ट्रिक्स होने जरुरी होते है।
>> अल्गोरीधम क्लियर और अनामबिगियस होना चाहिए। एक अल्गोरीधाम के पास जीरो या वेल डिफाइन इनपुर होने चाहिए। अल्गोरीधम के पास एक या ज्याद वेल्ड डिफाइन आउटपुट होने चाहिए। और इसे डिजायत आउटपुट से मैच होना जरुरी हे। एल्गोरिधम एक लिमिटेड स्टेप की बाद टर्मिनेट होना चाहिए। और इसकी स्टेप बाय स्टेप डायरेक्शन होने चाहिए। जो किसी भी प्रोग्रामिंग कोड से इंडिपेंडेंट होने चाहिए। और जैसा की हमने जाना की अल्गोरीधम किसी प्रॉब्लम को सोल करने का ऐसा स्टेप बाय स्टेप प्रोसीजर होता हे,जो लिमिटेड स्टेप से पूरा होता हे। इन स्टेप में ब्रांचिंग और रिपीटिशन इंक्लूड होते है। और ये उस प्रॉब्लम पर डिपेंड करते हे जिसके लिए अल्गोरीधम को डेवलप किया गया है। अल्गोरीधम के सारे स्टेप युमन आनेस्टेन्डेबल लेंग्वेज में लिखे जाने चाहिए। जो किसी भी प्रोगरामिंग लेंग्वेज पर डिपेंड नहीं करते हे। अल्गोरीधम को इम्प्लीमेंट करने के लिए कोई भी प्रोग्रामिंग लेंग्वेज चूस की जा सकती हे। और स्युडो कोड फ्लोचार्ट अल्गोरीधम को रिप्रेसेंट करने की पॉपुलर फेस हे।
>> अल्गोरीधम की कुछ कॉमन केटेगरी है ; सर्च ,सॉर्टिंग ,ग्राफ और ट्री ट्रावेसिंग, डायनेमिक प्रोग्रामिंग और हेसिंग और रिकेगस।
>> और अगर डेटा स्ट्रक्चर पॉइंट ऑफ़ व्यूस से अल्गोरीधम की कुछ इम्पोर्टेन्ट कैटेगरीज़ जाने तो वो है = सर्च।
>> डेटा स्ट्रक्चर में एक आईटम सर्च करने के लिए अल्गोरीधाम = सॉर्ट।
>> डेटा स्ट्रक्चर में सॉर्टिंग ऑर्डर में आईटम सॉर्ट करने के लिए अल्गोरीधम = इंसर्ट।
>> डेटा स्ट्रक्चर में आईटम इंसर्ट के लिए अल्गोरी*८ धम = अपडेट।
>> डेटा स्ट्रक्चर में एकजैसिंग आईटम को अपडेट करने के लिए अल्गोरीधम ,और डिलीट एकजैसिंग आईटम को डिलीट करने के लिए एल्गोरिधम
>> अब अगर डेटा स्ट्रक्चर और एल्गोरिधम के बारेमे ये जानकारी देने के बाद आप इन्हे लर्न करना चाहते है तो बुक्स ,आर्टिकल्स ,टिटोरियल्स और लेक्चर के थरु आप इसे सीखना सरु कर सकते है। और प्रेकिट्स के जरिये इन्हे लर्न कर सकते है। और अगर आप इस टॉपिक पर डिटेल मेसेज चाहते है ,कैसे डेटा स्ट्रक्चर और अल्गोरीधम को लर्न किया जाए तो आप हमें कॉमेंट करके बता सकते है। और ये मेसेज डेटा स्ट्रक्चर और अल्गोरीधम के बारेमे बेसिक और इम्पोर्टेन्ट नॉलेज आपके साथ सेर कर पाया हु तो इस मेसेज को लाइक करने के साथ सेर करना बिलकुल ना भूले। और अगर आप पहली बार प्लेटफॉर्म पर आये हो तो अभी के अभी प्रोस्टार को सब्स्क्राइब करे ताकि ऐसा ही इम्पोर्टेन्ट मेसेज आपको मिलता रहे।
