So, Hello Friends, Welcome back to channel आज हम देखने वाले डेटा स्ट्रक्चर की Unit 3 So, दोस्तों, यह जो Unit है हमारी वो तीन Topics में हमारी Divided है, मतलब तीन Parts में पहला है हमारा Searching, जिसके अंदर हम तीन Searches देखने वाले हैं, Linear, Binary और Index, Sequential Search So, देखो इसमें से जो Binary है वो हमारी Most Important है, इसे अच्छे से समझना और देखो Paper काफी पास है जिससे कि आपके इस Video के अंदर तीन साल के Paper के Solution भी हो जाएं और सारे important topics भी cover हो जाएं हमने पहले first और second unit अच्छे से cover करा दिये और आप playlist में जाकर देख सकते हो description में आपको link मिल जाएगा और second part है हमारा shorting shorting के अंदर मैंने सारी shorting कराई हैं साथ short है हमारे syllabus है insertion, selection, bubble, heap, merge, quick and reddix इसके अंदर भी हमारी जो दो short है merge और quick ये ज्यादा important है क्योंकि ये दो बार आई हुई है ठीक है और फिर हेशिंग, हेशिंग के अंदर जो numericals होते हैं वो important होते हैं और मैंने numericals all करा दिया है पिछले जो तीन साल में आये थे दोनों और उसके अंदर एक theory part भी था जिसके अंदर हमारे types of hash function पूछे थे और collision resolution techniques पूछी थी तो पहले हम searching देखते हैं और अराम से मैं जो बोलूं वो कर लेना चैनल को जल्दी से जल्दी सब्सक्राइब करो और भी वीडियो आने वाली है बहुत अच्छी सब्जेक्ट हम कवर करने वाली हैं तो सबसे पहले हम देखते हैं सर्चिंग तो देखो सर्चिंग होती क्या है सर्चिंग आपको नियामती पता चल रहा होगा किसी भी चीज को सर्च करते हैं हम उसे कहते हैं सर्चिंग तो यहाँ पर हम उसके अंदर हम किसी element को search करते हैं, उस technique को कहते है searching, ठीक है, it is the process of finding the location of given item, element in a linear array, ठीक है, किसी भी linear array, linear array क्या होता है हमारा, basically मैं first unit में भी बता चुका हूँ array के बारे में, यह हमारा एक array होता है, इसके अंदर कोई अगर हमें element, जैसे कि x element को search करना है, तो हमें इसका address मिल अगर हमें यह x मिल जाता है तो वो successful हो जाती है searching अगर नहीं मिलता तो होती है हमारी unsuccessful search ठीक है, वही देखेंगे हम सबसे पहले हमारे एकट्यूट में आया हुआ है कि 2 marks में एक question internal searching और external searching के अंदर difference so when data in main memory अगर data हमारा main memory में search हो जाता है तो होता है हमारा internal search अगर वह data हमारा files में store होता है या फिर मतलब कोई disk में जो की हमारी external होती है storage उसके अंदर होता है तो होता है हमारा external searching तो ये basically मतलब मेरे को ऐसा लगता है 2 marks में आ सकता है तो मैंने यहाँ पर लिख दिया है फिर हमारी searching techniques जो की हमारी important है तो देखो searching techniques हमारी दो तरह की होती है देखो ये तो हमारी searching के types है और अब हम देखेंगे searching की techniques कौन-कौन सी हो सकती है तो देखो searching की techniques हमारी तीन तरह की होती है पहली होती है linear जो की सबसे basic है binary और index sequential search ठीक है so linear क्या होता है linear मतलब की first element से लेके last element तक मतलब उसे हर से match सारे elements से match करते रहना और linearly उसे search करना तो देखो the way of search for a given item मतलब कि जिसे हमें search करना है in data जिस data के अंदर search करना है is to be compare item with each element of data one by one ठीक है अब देखो यहाँ पर example के थुरू आपको अच्छे समझ में आएगा जैसे कि हमारे पास एक एरे है ठीक है जिसका size क्या है 10 है मतलब कि 0 से start है तो 10 हमारा size है इसके अंदर हमारे पर यह सारे elements है 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ठीक है अब ये हमारा क्या? ये हमारा एक data है ठीक है इसके अंदर हमें इस x को search करना है ठीक है x क्या हमारा? 3 तो अब x के लिए हम क्या करेंगे?
first इसे start करेंगे और sub से compare करेंगे जब तक कि हमारा ये 3 मिल नहीं जाता ठीक है तो देखो पहले हमने 1 पे search किया 1 पे मिला? नहीं मिला second पे search किया? नहीं मिला third पे search किया? हाँ मिल गया return कर दिया ठीक है return क्या कर दिया? इसका address और return कर दिया 2 तो देखो हमें क्या करना है, सारे के सारे elements हमें compare करने पड़ते हैं linear search के अंदर इसका algorithm देखते हैं तो देखो linear search के अंदर हमारा algorithm ऐसे होता है कुछ कि पहले हम start करेंगे, step 1 start फिर एक 4 loop लगाएंगे, 0 से लेकर n-1 यानि कि indexing हमारा 0 से होती है तो एक element का address होता है रिपीट करेंगे 4th और 5th step को until element हमारा item हमारा found हो जाता है, ठीक है सबसे पहले क्या करेंगे कि add के अंदर हम i को डालेंगे जिसमें हम अपना iteration चलाएंगे i के लिए और exit करेंगे loop को from step 3 loop मतलब कि यह जो हमारा loop यहाँ पर start हुआ था इसे हम stop करेंगे जब कभी स्टॉप करेंगे जब ये हमें element item मिल जाएगा ठीक है बहुत easy algorithm है ये तो आप मतलब आराम से कर लोगे फिर print कर दोगे add को add मतलब क्या हमारा address है जो हमें location हम फाउंड करेंगे ठीक है तो देखो ये वाला जो loop था उपर वाला जैसे ही मिल जाएगा वहाँ पर क्या होगा कि i की value कौन सी होगी जिस address पर हमारा item इस टोर होगा ठीक है तो i की value को हम address के अंदर store करा देंगे और address को हम print करा देंगे तो यह हो गया हमारा linear search तो next है हमारा binary search ठीक है binary search हमारा important है इसे अच्छे से करना क्योंकि बहुत बार पूछे जाता है तो देखो यहाँ पर क्या लिखा हुआ है it is extremely efficient algo मतलब कि यह बहुत ज़्यादा fast algo होती है ठीक है always apply on sorted array ये हमेशा हमारी sorted array पे apply होगी ऐसे नहीं कि आप मतलब कोई भी array ले लो array हमेशा sorted होना चाहिए वो ascending order में हो या descending order में हो मतलब की increasing या फिर decreasing order में होना चाहिए array अब इसके अंदर हमारे कुछ steps होते हैं जो की binary search के अंदर आपको follow करना ही पड़ेंगे ठीक है सबसे पहले find the middle element अब जैसे की मैं आपको बताऊं हमारे पास ये array है 0, 1, 2, 3, 4 and 5, है ना, इसका index क्या, 0, 1, 2, 3, 4, 5, ठीक है, यह index है, अब इसका middle element कैसे निकालेंगे, 0 plus 5 upon 2, ठीक है, जो भी हमारा flow division आएगा, यानि कि 2 आएगा, ठीक है, तो यह क्या गया, हमारा middle आगे इसका, तो सबसे पहले हमें middle find करना है, ठीक है, फिर क्या करना है, compare कर फिर middle को compare करेंगे item के साथ ठीक है तो सबसे पहले हमारे इसके अंदर 3 cases होएंगे अगर middle हमारा equal आ जाता है item से तो क्या कर दो middle को return कर दो कि मतलब ये हमारा middle पर है value ये हमारा address find हो गया लेकिन अगर ऐसा नहीं होता तो if middle is less than item अगर हमारा middle छोटा है item से तो क्या करो starting को कर दो middle plus 1 उसकी जगा पर जो भी middle की value है उसको plus 1 करके starting को unit slice कर दो और वही step हमारा repeatly करते रहो जब तक कि हमें item की address नहीं मिल जाता if else अगर छोटा नहीं है तो क्या होगा बड़ा होगा अगर middle हमारा बड़ा हो जाता है item से तो क्या करतो end को करतो middle-1 जो कि हमारा end था जैसे कि हमारा end इसमें क्या था end हमारा इस वाले array के अंदर था 5 ठीक है इसके अंदर end को क्या करतो middle-1 middle क्या आ रहा है हमारा middle आ रहा है 2 तो middle को करतो end को करतो 1 middle-1 ठीक है अब देखो follow the principle divide and conquer ठीक है यह क्या करता है इसके अंदर divide and conquer को use करता है ठीक है binary हमारा search कभी क्या होता है कि यह ना दो number में आ जाता है कि binary search को किस principle को follow करता है ठीक है किस rule को follow करता है तो आप लिख कर रहा है divide and conquer को ठीक है so यह हमारा था binary search algorithm के अंदर सबसे पहले आपने data को pass किया lower bound को pass किया upper bound को pass किया और item को pass किया और location को pass किया location बेसिकली हम इसके लिए pass करें जिसके अंदर हम उस location को store करा सकें जो कि हम निकलेगी ठीक है वहाँ से सबसे पहले हमें क्या करना है set करना है begin is equal to lower bound मतलब कि जो हमारा starting bound होगा उसे lower bound से slice करना है फिर end को करना है upper bound से और फिर middle को कैसे find करना है begin plus end divide by 2 फिर क्या करना है step 3 में repeat करना है 3 और 4 जब तक कि हमारा जो begin है छोटा है या फिर end के बराबर है ठीक है और कब तक, जब तक कि middle हमारा not equal to item है, अगर item के equal हो जाएगा, तो क्या करेंगे, directly middle को हम return कर देंगे, कि हमारा यह equal आ गया, if item is less than middle, वो ही basic, जो हमने इसके अंदर देखा है न, वो ही हम इसके अंदर लेंगे, अगर हमारा item जो है, वो छोटा हो जाता है middle से, तो क्या करो, end क अब क्या होगा, if data is made is equal to item, लेकिन यहां से दो cases में बाहर आएगा, जो हमारा loop होगा, या तो begin हमारा बड़ा हो जाएगा, इससे end से तो बाहर आजाएगा, या तो middle हमारा equal हो जाएगा, item के तो बाहर आजाएगा, तो यहाँ पर हम check करेंगे, अगर हमारा middle equal हो जाएगा, item के यही होता है बेसिकली इसका एलगो एक बार एक और बार देखोगे आराब से समझ में आ जाएगा ठीक है इसका एक नूमेरिकल या फिर कुछ करना वजह एक एक्जांपल करना जैसे कि मैं यहाँ पर यार वन शॉर्ट वीडियो थोड़ा अब जैसे कि हम एक्स के अंदर एक्सांपल देखें तो 1, 2, 3, 4, and 5 ठीक है चोटा सा ही लेते हैं और इसके अंदर हमें क्या find करना है इसके अंदर हमें find करना है x is equal to 2 ठीक है हमें इसके अंदर find करना है 2 तो इसके अंदर कैसे करेंगे देखो सबसे पहले इसके अंदर है इं� 0 plus 4 is equal to मतलब divide by 2 यानि कि middle find करने तो 2 आगे ठीक है तो हमारा ये वाला index आगे 2 अब क्या करेंगे हमें फिर इसके अंदर 3 cases को देखना है सबसे पहले compare करना है middle वाले index को यानि कि middle अगर आप ऐसे 2 लिखोगे ना वो आएगी 3 ठीक है ये हमारा address है address हमारा क्या है 2 तो हमारी value क्या आएगी होगी 3 तो 3 को compare करो किसके साथ item के साथ item क्या है हमारा x ठीक है अब इसके साथ compare करो यह equal है नहीं है तो आप चेक करो यह छोटा है या फिर बड़ा है तो यहाँ पर क्या आ रहा है हमारा देखो item is less than data item ठीक है तो हमारा जो item है वो छोटा है mid से ठीक है तो क्या करो end को mid minus 1 कर दो तो जो हमारा end ता 4 उसे क्या कर दो mid minus 1 mid क्या है हमारा 2 तो mid minus 1 कर देंगे तो क्या जाएगा 1 तो end is equal to कितना mid minus 1 यानि कि 1 कर दो ठीक है हमने 1 कर दिया mid अब हम mid को बापिस से start करेंगे 0 plus 1 divide by 2 ठीक है अब इसको करेंगे divide तो क्या आएगा 0 आएगा 0 आएगा क्योंकि 0.5 आएगा न तो 0 हम flow division लेते हैं तो यहाँ पर compare करेंगे 0 से तो 0 पर क्या है 1 है तो 1 को compare करेंगे 2 से तो क्या है 1 हमारा data item जो हमारा mid है वो बड़ा आ जाएगा कि अगर हमारा item जो है mid से, तो देखो यहाँ पे जो हमारा item है वो बड़ा है, ठीक है, अब छोटा नहीं है वो बड़ा है, ठीक है, 2 हमारा बड़ा है तो देखो, यहाँ पे क्या करना, set करतो begin को mid plus 1, तो begin क्या था, हमारा 0 था, तो अब क्या करतो इसे mid plus 1 करतो, तो mid पहले क्या था हमारा, mid क्या आ रहा था, mid था हमारा 0, ठीक है, 0 आ रहा था ना नज़ब, starting को क्या करतो, begin को mid plus 1 करतो, तो हमारा end पहले से क्या है, हमारा 1 है, तो 1 plus 1, divide by 2 तो क्या आएगा answer वन आएगा ठीक है अब यहाँ पर हमारा mid क्या आएगा वन आएगा जब हम आप compare करेंगे वन वाले index को item के साथ तो हमारा two आजाएगा और हम return कर देंगे किसे two को तो यहाँ पर answer आगे देखो example मैंने थोड़ा सा मतलब perfect way में नहीं समझाया ऐसे समझा दिय difference between linear and binary search algorithm write a recursive function to implement binary search linear search और binary search में difference क्या है array can be sorted और unsorted देखो linear search के अंदर हम दोनों पे apply कर सकते हैं array चाहे sorted हो या नहीं हो लेकिन binary search हमारा सिर्फ sorted पे use होता है यहाँ पे देखो binary search की complexity रह गई यह होती है हमारी o log n ठीक है तो देखो हमारा जो linear search है वो जादा time लेता है, binary search हमारा कम time लेता है, इसकी complexity होती है वो o n और इसकी होती है o log n, ठीक है, यह search करता है linearly और यह किसे use करता है, divide and conquer method को, ठीक है, अब देखो इसका एक recursive मैंने यहाँ पर program भी लिख रखा है, int binary search इसके अंदर हमने पहले array pass कर दि अगर हमारा beginning छोटा हो जाता, या end से भराबर रहता, जब तक यह वाला loop चलेगा, हमारा जो recursive, मतलब if वाली condition चलेगी, क्योंकि recursive function है, तो loop नहीं लगाया हमने, if mid is equal to, is equal to item, तो return कर दो, basically mid को return कर दो, लेकिन अगर ऐसा नहीं होता, item अगर हमारा mid से छोटा हो जाता है, तो अगर ऐसा नहीं होता आइटम अगर हमारा बड़ा हो जाता है mid से तो क्या करो begin is equal to mid plus 1 कर दो ठीक है बहुत basic लाइज समझ में आ गया होगा, ठीक है, mid is equal to begin plus end divide by 2, इसे हमने update कर दिया mid को, return minus 1, अगर ऐसा कुछ नहीं होता तो return minus 1, यानि कि unsuccessful हो गया हमारी जो searching था, ठीक है, अब next हमारी जो technique है, वो है index sequential search technique, ठीक है, यह technique क्या कहती है, इस चीज़ तरफ उपयोग यूज़े सिक्वेंशियल और रैंडम एक्सेस सर्चिंग मेथड ठीक है यह क्या करती है यह दो टेक्निक को यूज़ करती है कि इसके इसको एक तो सिक्वेंशियल यानि कि लीनियर सर्च को यूज़ करती है और रैंडम एक्सेस सर्चिंग मेथ� तो देखो index sequential search का l को ऐसे है read the element सबसे पहले हम element को read करते है divide the array into groups according to the group size जो भी हमें group size यूवन होगा उतने groups में उसे divide कर देंगे जैसे कि यहाँ पर example देखो यह हमें पास यह array ठीक है इसके अंदर हमारा group size 3 है तो हमने क्या किया इसको तीन वनदब तीन groups में divide कर दिया ऐसे तीन फिर तीन और तीन ठीक है और इसका जो index है ऐसे mention कर दिये फिर यह एक पूरा group बन गया फिर हमने यह अलग group divide किया और इसका जो index है 3 यहाँ पर mention कर दिया फिर हमने इसे divide किया और इसका जो 6 था मतलब index उसे यहाँ पर mention कर दिया create index array that contain starting index of group जैसे कि मैंने आपको यहाँ पर बता दिया if group is present and first element of the group is less than or equal to the key element go to the next group अगर जो हमारा जिस हम group पर अब check करेंगे अगर उसका जो हमारा first element है अगर group का वो less than या फिर equal आ जाता है key के तो क्या करो next group पे चले जाओ ठीक है लेकिन अगर ऐसा नहीं होता तो पिछले group पर उसके linear search लगा दो और repeat fourth step for all group अब देखो कैसे search करेंगे देखो हमें यहाँ पे 28 search करना है ठीक है अब देखो कैसे search करते हैं if group is present first element of that group is less than अब देखो इस group का जो पहला element है 12 है ठीक है, अब हमने इसे compare किया key से, 28 से, क्या है ये, less than है, ठीक है, तो इसमें क्या लिखा हो, less than हो या फिर equal हो, तो क्या करो, next group पे चले जाओ, तो ये हमारा less than है, तो next group पे चले गए हैं, 21 को देखा, 21 क्या है हमारा 28 से क्या है, less than है, तो यहाँ पर यह क्या आ गया बड़ा आ गया तो क्या करेंगे हम प्रेवियस ग्रूप पर क्या करेंगे यह लीनियर सर्च को अप्लाई कर देंगे लीनियर सर्च तो आपने फड़ाई है बेसिकली जो हमने पहला वाला था लीनियर सर्च बिलकुल वो ही अप्लाई कर दो तो देखो तो द कोई भी दिक्कत आई हो कमेंट कर देना ठीक है मैं अच्छे समझाने की कोशिश करूँगा और अब देखो शॉर्टिंग का बेसिकली ये मतलब होता है जैसे कि आपके पास बहुत सारा डेटा गिवन है जैसे कि 2, 4, 5, 1, 0, 7 ऐसे डेटा गिवन है ठीक है अब आपको बोला इसे शॉर्ट कर दो ठीक है शॉर्ट कर दो ठीक है, आपको कोई बता दिया कि increasing order में short कर दो या फिर decreasing order में short कर दो, ठीक है, अगर आपको बोलती है increasing order में short कर दो, तो आप क्या करोगे, पहले आपके लोगे दोगे 0, 1, 2, 4, 5 and 7, ये क्या होगा, increasing order में short हो गया, लेकिन अगर आपसे बोले कि decreasing order में short कर दो, तो आपके लो इन सब गिवन ऑर्डर इंग्रीजिंग और डिफरेंशेट बिट इंटरनल शॉर्टिंग एंड एक्सटरनल शॉर्टिंग अब यहां दो मांस में आया अगर हमारा जो डेटा बहुत लार्ज मांट में हमारे इस टो फॉर्ट हो रहा है यानि कि कुछ हमारा जो डेटा है वह तो वो हमारी present memory के अंदर है ठीक है auxiliary memory आपने COA के अंदर पढ़ा हुआ ठीक है जो हमारी ऐसी memory होती है जिसके अंदर हम data से compare करते हैं ठीक है address से compare नहीं करते हैं तो यह होता है हमारा external sort internal sort के अंदर होता है हमारा जितना भी data होता है वो हमारा main memory के अंदर store होता है ठीक है और यह कै तो देखो इसके अंदर ताइप्स जो शॉटिंग है हमारी टेक्निक है उसे देख लो और मतलब यह बारी जो एक्सटेनल शॉट होती है हमारी मर्श और टैक्स और हमारी एक्सटेनल शॉट होती है इंटरनल शॉट होती है हमारी हीप शॉट बबल शॉट और सेलेक्शन रॉट ठीक है कभी ऐसे अब हमारा क्या है 2 marks में आया था 2021 और 2022 में stable और unstable shorting के अंदर difference बहुत बार पूछा जाता है और basically अगर आप programmer हो तो आपको पता होना चाहिए कि stable और unstable shorting मतलब क्या होती है ठीक है intro review उस पर अगराम में भी बहुत पूछा जाता है when two same data item appear in the same order a shorted order is called stable short when the two मतलब की देखो इसका basically इसके भी अगर आपको नहीं समझ में आ रहा ना मैं बस को बताता हूँ जैसे की अगर आपके पास बहुत सारा data है जैसे कि 3, 4, 5, 6 and 0 ठीक है यह आपके पास data है ठीक है और मैं आगे यहाँ पर कुछ जैसे 1 लिख देता हूँ ठीक है तो देखो आपके पास यह data आपको बोला है इसे short कर दो ठीक है तो आपका जो यह न 3 और 3 यह क्या है हमारा same तो देखो same data appear in the same order ठीक है अब जो हमारा यह same data है वो same मतलब same data है न दोना 3 और 3 जब आप इसे short करते हो अगर इनका order change होता जाता है, मतलब कि यह वाला 3 अगर आगे आ जाता है और यह वाला 3 हमारा पीछे चले जाता है, तो यह होती है हमारी unstable shorting, लेकिन short करने के बाद भी यही वाला 3 हमारा आगे रहता है और यही वाला 3 हमारा पीछे रहता है, तो वो होता है हमारी stable short, ठीक है, तो अब हम शौर्टिंग देखेंगे, जो हमारी शौर्टिंग की टेकनीज होती हैं, वो basically साथ हैं, ठीक है, हमारे syllabus के अंदर, मतलब बैसे तो और भी होती हैं, लेकिन हमारे syllabus के अंदर साथ शौर्टिंग टेकनीज हैं, जो मैंने आपको शुरू में बताई थी, ठीक है, और आपको सबसे पहले उसकी definition लिखनी है एक उसका example देना है जो कि numerical होता है उसे solve करना होता है अगर उसके अंदर paper में given है यह numerical solve कर रहा है तो उसे solve करना अगर नहीं given है तो आप अपने आपसे कोई भी एक example solve करके आना फिर आपको एक उसकी algorithm लिखनी होती है यह मतलब चारों चीजें प्रोवाइड करा दी हैं सारी की algorithm में फिर आपको उसकी complexity बतानी होती है time और space complexity ठीक है तो चलो पहली shorting से start करते हुए पहली shorting technique से पहली है हमारी insertion shot इंसर्शन शॉट हमारी पहली शॉटिंग टेक्निक है जो काफी इजी है ठीक है मतलब पहली हमारी जो तीन होती हैं बबल, इंसर्शन और सेलेक्शन ये तीनों थोड़ी सिमिलर होती हैं क्योंकि इनकी कॉंप्लेक्सिटी सेम होती ठीक है इसका बिल्कुल प्लेइंग कार्ट्स को जैसे आप अपने हाथ के अंदर बिल्कुल वैसी डेफिनिशन है इसके अंदर क्या होता है हमारा जो array होता है, एक sorted part और unsorted part में split हो जाता है, ठीक है, values from the unsorted part are picked, तब से बहले हम value लेते हैं unsorted part से, और उसको placed at a correct position in a sorted part, और फिर उसे sorted part के अंदर correct position के अंदर place करते हैं, अब मैं इसका एक आपको numerical solve करा के दिखाता हूँ, जो कि आप paper में आराम से, मतलब इसे easily कर दो, और 9 ठीक है अब इसको हम solve कैसे करेंगे ये देखो सबसे पहले आपको क्या करना है आपको जो पहला element लेना ना compare करने के लिए आपको first नहीं लेना ठीक है first को हम basically पहले से मान की चलते हैं ये हमारा ये क्या है sorted array ठीक है तो हम पहले array इतने को हम sorted मानते हैं और इतने को unsorted मानते अब क्या करो, pointer को आगे बढ़ा दो, 1 पे था न, अब 7 पे ले जाओ, अब जैसे 7 पे ले गए, ठीक है, तो अब 7 को compare करो, पहले 10 से, क्या 10 से चोटा है, हाँ चोटा है, ठीक है, अब आगे देखो, क्या ये 1 से भी चोटा है, नहीं, 1 से चोटा नहीं है, तो ये क्या हो 6 को आप compare करो पिछले 3 elements से क्या ये 10 से चोटा है हाँ चोटा है फिर आगे देखो क्या ये 7 से चोटा है नहीं है तो ये कहाँ पर हाँ चोटा है ठीक है अब ये इस पर भी चोटा है आप 1 से compare करो हाँ 1 से चोटा है नहीं है तो इसे क्या करो 7 को उधर shift करो बेसिकली बहुत easy है technique अगर आप इसे समझ लोगे तो आप algorithm भी आराम से लिख दोगे अब हमारा 10 यहाँ पर आ गया 6 के साथ swap हो गया और 9 अब क्या करो 6 के आगे क्या था 14 14 को आप सब के साथ compare करो ऐसी compare करो कि 14 को तो 14 हमारा किसी से भी छोटा नहीं है अब जाओ किस पर 9 पर अब 9 को compare करो 9 को जब आप compare करोगे सब के साथ बाद में आपको confusion ना हो 9 को अब हम compare करेंगे पहले 14 के साथ क्या यह 14 से छोटा है?
हाँ छोटा है 10 से करेंगे compare क्या 10 से छोटा है? हाँ छोटा है फिर 7 से करेंगे compare, नहीं, 7 से छोटा नहीं है तो 7 के आगे और 10 के पहले आगे तो इसे shift कर दो और यहाँ पर यह हो गया क्या होता है यह insertion shot insertion से आप समझ सकते हो कि हम compare करके फिर हम insert करें वैलियो को ठीक है sorted में तो यह क्या हो गया हमारा insertion shot यह हमारा numerical होता है ऐसे हम numerical को solve करते हैं अब हम इसकी complexity को देख लेते हैं इसकी जो time complexity होती है वो हमारी होती है O of n square ठीक है और जो हमारी space complexity होती है, होती है O1, यानि की constant रहती है space complexity इसे आप याद कर लो, ये मतलब तीनो sorting technique के अंतर आपकी use होगी ठीक है जो भी आपकी पहले की तीनो sorting technique है इसके अंदर हमारी चार operation होते है, fetch आपने जो अपना पहले one को लिया जैसे, fetch किया ठीक है data फिर comparison, आपने compare किया फिर आपको जब comparison आपका हो गया, आपने shift कर दी value shift हो गई, shift करने के बाद आपने copy कर दी value ठीक है अब हमारी इसके algorithm मैंने बहुत easy way में लिखी है आप इसे पढ़के ही आपको समझ में आ जाएगा ठीक है अब इस एलिमेंट को पहले बढ़े रहे हैं अगर इस एलिमेंट को पहले बढ़े रहे हैं तो move कर दो, move to the next element फिर next element पर चले जाओ, लेकिन अगर ऐसा नहीं होता, तो क्या करो, shift कर दो उस creator element को, और array, टूवर्ट ता right, right की तरफ उसे shift कर रहे थे न, जैसे कि पहले, समझ गए होगे, फिर इंसर्ट कर दो value को, और repeat करो, इसको जब तक यह होता है हमारा insertion shot, बहुत अब है हमारा selection shot, देखो selection shot हमारा insertion shot से भी और उसकी right position पे उसे insert करते जाएगे ठीक है अब देखो selection sort it is a simple and efficient sorting technique algo that works by repeatedly selecting the smallest and largest या तो आप smallest element को find कर रहे होगे या तो largest element को find कर रहे होगे दोनों से या आप array को short कर सकते हो ठीक है from the unshorted portion of the list and moving it to the shorted portion of the list इसकी भी time complexity O of n square होती है और space complexity O of 1 होती है ठीक है पूछी जाती है time complexity वगरा, इसके लिए मैं सब में कराई देता हूँ, ठीक है, और देखो अब हम algo देखते हैं, इसकी selection sort की सबसे पहले क्या करो, इसमें लिखा हुआ है repeat step 2 and step 3, ठीक है मतलब कि आगे जो step है, उन्हें repeat करना है, किसके लिए k is equal to 1 से लेकर n-1 तक, ठीक है, अब देखो अब हमारे step 2 क्या है, call minimum यानि कि यह वाला जो हमारा function है ना पूरे array के अंदर से minimum element को find करेगा, ठीक है, फिर यह क्या पार्ट करता है, यह स्वेप करता है, मतलब जो हमारा एलिमेंट है, उससे स्वेप करता है दूँ पिछले एलिमेंट को, अभी हम numerical करेंगे न, यह करेंगे, यह एक्जांपल है, इससे आपको अच्छे समझ में आ जाएगा, इससे हमने minimum find कर लिया, इससे हमने स्वे� मतलब यह आल्गोरिथम आपको एक बार देख लेना अगर आपको नुमेनिकल सब भी मैं समझाओं को यह समझ में आजाएगा तो आप आराम से लिख दोगे ठीक है तो नुमेनिकल देखो इसका कैसे होता है सबसे पहले आपको पहली जो एरे का एलिमेंट है उसे ले लेना ठीक है फिर उसे सब के साथ कंपेर करना है क्या वो सबसे छोटा है अगर छोटा है तो वो वही रहेगा लेकिन अगर कोई और उससे छोटा मिल जाता है तो उसके साथ उसे क्या करेंगे स्वेप कर देंगे ठी 4 से छोटा है नहीं है 4 से तो बड़ा है ठीक है फिर compare करेंगे 2 के साथ क्या यह 2 से छोटा है नहीं है 2 हमारा छोटा है फिर 1 के साथ करेंगे 7 के साथ करेंगे ठीक है अब इसके अंदर जो element last में रह जाएगा जो minimum रह जाएगा वो 1 रह जाएगा क्योंकि 1 इन सब से छोटा है swap कर देंगे इसके साथ तो 5 के साथ हमने इसे swap कर दिया minimum function ने इसे पहले दे दिया minimum जो हमें value मिली गई इस वाले, इस वाले ने क्या किया, इस वाले ने इसे swap कर दिया, ठीक है, तो देखो 5 हमारा किस के साथ swap होगे, 1 के साथ, 5 हमारा यहाँ पर आ गया, अब 5 के बाद क्या है, 4, अब 4 को हमने ले लिया, अब 4 को compare करो इसके साथ, पिछले के साथ compare नहीं करेंगे, आगे के साथ compare क चोटा है हाँ चोटा है तो वैल्यू आ गई होगी 10 के अंदर 2 फिर हमने 5 को किया क्या ये 5 है नहीं 5 चोटा नहीं है 7 चोटा है नहीं है 6 भी चोटा नहीं है 2 के साथ ठीक है तो क्या करेंगे 2 को स्वेप कर देंगे 4 के साथ स्वेप हो गया बहुत इजी है ठीक है तो 6 आगे, 7 आगे, यह हो गई हमारी शॉटेड आयरे एक दो नुमेरिकल करके देखना आराम से हो जाएगा, ठीक है? फिर है हमारा बबल शॉट देखो बबल शॉट बिल्कुल नाम से आपको समझ में आया का है जैसे हमारे बबल जो पानी के अंदर आ जाते हैं वैसे ही बबल का हिसाब है की मतलब जो ज्यादा हैवी वो होते है ना बड़े जो largest element होते है वो ऊपर आ जाते है ठीक है उसके हिसाब से हम array को short करते है ठीक है largest element को find कर करके it is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements they are wrong in order देखो क्या करेंगे हम इसके अंदर ना शुरू के दो elements को लेंगे उन दोनों का compare करेंगे फिर आगे के दो element को लेके उनको compare करेंगे और उनको compare करके उनकी largest value उनमें से find करेंगे और उसे last में पहुचा देंगे ठीक है यही होता है इसका concept अभी मैं इसका L को बताता हूँ आपको begin bubble shot array आपने bubble shot array के अंदर लगाया है उसके अंदर क्या होगा for all array element सारे array element के अंदर क्या करो कि पहले AI यानि कि जो आपका पहला element है और दूसरे element को compare करो अगर पहला element दूसरे element से बड़ा है ठीक है तो उसे swipe कर दो स्वेप कर दो इन दोनों को ठीक है बस यही करना होता है स्वेप करने के बाद उसे return कर दो यही होता है इतना छोटा सा algorithm है अगर यह आ जाता है तो मज़ा ही आ जाएगे ठीक है आराम से कर दोगे थोड़ा इसका numerical है उसे समझो ठीक है हमारे पास यह वाला example है 13, 32, 26, 35 and 10 i और i plus 1 को compare करो 13 और i plus 1 हो जाएगा 32 13 और 32 को compare करो क्या 13 हमारा 32 से बड़ा है तो आगे बढ़ जाओ 32 और 26 को compare करो क्या 32 26 से बड़ा है हाँ है तो swipe कर दो swipe हो गया ठीक है अब देखो यह swipe हो गया अब आगे देखो 32 और 35 को compare करो क्या 32 हमारा 35 से बड़ा है नहीं है तो आगे बढ़ जाओ 35 और 10 को compare करो क्या 35 हमारा 10 से बड़ा है हाँ बड़ा है तो क्या क तो array के अंदर हमें सबसे बड़ा element मिल गया क्या?
35 ठीक है? यह हमारा पहला pass हो गया अब हम दूसरे pass में पता है कहा तक चलेंगे? बस इतना चलेंगे ठीक है?
10 तक चलेंगे अब 35 को हम क्या मालेंगे? वो shorted है ठीक है? 13 और 26 को compare करो तो आगे भर जाओ 26 और 32 को compare करो क्या है? नहीं है तो आगे भर जाओ 32 और 10 को compare करो हाँ 32 बड़ा है 10 से तो swipe कर दो 32 आ गया अब last पे आ गए, तो देखो, अब हमारा ये 32 और 35 क्या हो गया, ये sorted हो गया, ठीक है, अब हम क्या करेंगे, अब आगे से compare करेंगे इन तीनों में, अब हम 13 और 26 में करेंगे, क्या 13 हमारा 26 से बड़ा है, नहीं है, तो आगे बढ़ जाओ, 26 और 10 को करो, क्या 26 10 से बड़ा है, O of N square और O of 1 ठीक है देखो यह bubble shot की भी same है बिल्कुल insertion, selection of bubble बहुत easy है तीनो टेक्निक आपकी हो गई ठीक है so after bubble shot अब हम देखने वाले quick shot देखो quick shot, merge shot और heap shot तीनो important है जैसा मैं आपको बताऊँगा बिल्कुल अच्छे से इसको समझ लो और जो भी conditions बताऊँगा इसकी numerical की बस उसे अच्छे समझ लेना तो आप आराम से इसका numerical कर लोगे ठीक है exam में मतलब quick shot बहुत important है so quick shot का मतलब बेसिकली यह है कि यह divide and conqueror पे काम करती है और partition method पे काम करती है ठीक है quickshot is shorting algorithm that also uses the idea of divide and conquer this algorithm finds the pivot element that partition the array into two halves इसके सबसे बेसिकली पहला इसका जो step होता है वो होता है कि हमें pivot element find करना होता है और उस pivot element के help से हम array को two halves में divide कर देते हैं जो कि एक half हमारा होता है shorted array और एक होता है हमारा unshorted array ठीक है और फिर उन दोनों parts पर है ना हम वापिस quick shot को apply करते रहते है recursively ठीक है so recursive यहाँ पर quick shot मैंने algo यहाँ पर लिखा हुआ है इसे देख लो सबसे पहले हमारे पास यह जो quick shot है यह तो हमारा recursive quick shot हो गया और यह वाला जो है हमारा part यह हमारा pivot element को find करने का so देखो quick shot कैसे है if p is less than r then देखो यह हमारी जो basically while loop की condition होती है, हम उपर लिखते हैं, ठीक है, फिर हम q क्या है हमारा, यह होता है pivot element, इसके अंदर हम pivot element को partition, मतलब function का use करके find कर लेंगे, और फिर quick shot लगा देंगे, बापिस से, कहां से कहां तक, देखो, p यानि की, जो हमारा starting point है, वहां से लेकर q-1, pivot element से 1 पहले तक, और जो pivot element है, उससे 1 बापिस से लेकर end, r तक, यानि की, जो भी हमारा जैसे array था, वह एक array है हमारे पास, उसका starting है index P और last index हमारा R ठीक है तो बीच में अगर हमें pivot element यहाँ पर मिला ठीक है तो फिर जो divide होगा हमारा array यहाँ से लेकर जैसे pivot element हमारा यह वाला है ठीक है तो यहाँ से लेकर यहाँ तक और यहाँ से लेकर यहाँ तक तो यह जो हमारा pivot element होगा ना वो अपनी right position पर पह� लास्ट वाला उसे हम store करते हैं, फिर i के अंदर हम p-1 को store करते हैं, यानि कि जो पहला element होता है उसे पहले वाला, और for loop लगाते हैं, p से लेकर r-1 तक, तो देखो इसके अंदर जो algorithm है न, वो आपको जब समझ में आएगी, जब आपको numerical समझ में आएगा, ठीक है, algorithm तो मैंने तो उसकी time complexity होगी n log n, ठीक है, कभी-कभी आ जाता है कि what is the best case time complexity of quickshot, तो आपको ये लिख करानी है n log n, और अगर basically ऐसे पूछता है कि time complexity of quickshot, तो आपको ये लिख करानी है o n square, ठीक है, तो ये होगे हमारा quickshot का ये, अब हम numerical को अच्छे समझ लेते हैं, ठीक है, हमारे पास य तो हमारे पास यह वाली array 2, 8, 7, 1, 3, 5, 6, and 4 तो देखो सबसे पहले इसके अंदर हमें क्या find करना होता है quickshot के अंदर हमें pivot element को find करना होता है तो basically आपको बस यह समझ के चलो देखो pivot element है ना हम पहले को भी ले सकते हैं ले सकते हैं और किसी को भी element को ले सकते हैं लेकिन हम बस एक ही rule को follow करेंगे कि हम array का जो पहला element होगा उसे pivot element मान के चलेंगे तो यहाँ पर हमने pivot element 2 को मान लिया अब हम देखो यहाँ पे जो हमारी conditions है वो मैं आपको बताता हूँ, अगर देखो पहले यहाँ पर है न, जो हमारा पहला है, जैसे यह तो pivot भी है, और इसको पहला हमारा मतलब array का जो पहला है, उसे हम L ले लिया, यानि कि lower, और last वाले को ले लिया H, यानि कि higher, ठीक है, इन तो h को क्या करो plus कर दो ठीक है मतलब यहाँ पे minus होगा ना क्योंकि पिछे जाएगा ठीक है और यह इस तरफ जाएगा तो यह plus होगा और यह minus होगा ठीक है अब देखो यह वाली दोनों condition समझ में यह इन दोनों condition को यहाँ तरफ ना ठीक है और अगर यह condition false हो जाती है तो मतलब true हो जाती है यह वाली condition, l हमारा अगर बड़ा हो जाता है ऐसे, देखो यह plus होता रहेगा, यह minus होता रहेगा, तो एक condition ऐसी है कि जो हमारा h होगा, वो l से पीछे निकल जाएगा, यानि कि l हमारा आगे निकल जाएगा, तो क्या होगा, l हमारा बड़ा हो जाएगा ऐ यह important है, पहले यह वाली 2 condition, फिर यह last वाली condition, ठीक है, अब देखो, यहाँ पे हमने पहले 2 था, पहले 2 को compare कि 2 हमारा क्या छोटा है, यह फिर बराबर होना चाहिए, pivot element के, हाँ ऐसा है, तो आगे बढ़ा दिया, 8 पे आगे है L हमारा, L हमारा क्या है, बढ़ा है, तो यह यही तो अब क्या करेंगे हम 8 और 1 को क्या कर देंगे स्वेप कर देंगे ठीक है तो देखो यहाँ पर हमने 1 यहाँ पर लिख दिया और 8 यहाँ पर लिख दिया अब क्या करेंगे अब हम 1 को चेक करेंगे क्या हमारा 1 उससे चोटा है और क्या हमारा 8 बढ़ा है 2 से क्या हमारा 7 जो है वो 2 से बढ़ा है अब क्या हुआ यहाँ पर जो हमारा L है H वाले को किस के साथ P के साथ तो 1 पर आ गया होगा, तो 1 वाले को किस के साथ स्वेप कर दिया, 2 के साथ, तो हमारा 2 किस के पास आ गया, अपनी right position पे आ गया 2, ठीक है, तो ये जो हमारा 2 ना अपनी right position पे आ गया, अब 2 वाले को छोड़ देंगे, और array हमारा 2 half के अंदर divide हो जाएगा, एक तो 2 से पहले व तो 1 पे तो क्या लगाना क्योंकि 1 तो हमारा single element है तो यह पहले से ही shorted हम लगाएंगे इस वाले एरे पे ठीक है, तो आपको क्या करेंगे, हम 7 को मानेंगे pivot element, तो यहाँ पे मैंने लिख दिया p is equal to 7, है न, और l यहाँ पे 7 पे आजाएगा, और h यहाँ पे आजाएगा 4 पे, ठीक है, ऐसे बिल्कुल चेक करेंगे, क्या हमारा 7 बड़ा है, या फ 6 हमारा बड़ा है, नहीं है, तो यह यही पर रूका रहेगा, 4 हमारा चोटा है, हाँ चोटा है, तो आगे बढ़ा दिया, 3 हमारा चोटा है, हाँ चोटा है, तो आगे बढ़ा दिया, 5 भी चोटा है, तो आगे बढ़ा दिया, 6 भी चोटा है, तो आगे बढ़ा दिया, ठीक है 8 हो जाएगा और 1 ही हो जाएगा ठीक है अब डिवाइड होने के बाद आप देख सकते हो कि हमारा जो 6 से लेकर 5 तक है यह एक एरे हो गया और एक 8 वाला सिंगल एरे हो गया तो 8 हमारा सिंगल एलिमेंट है इस पर एक नई फ़र्दर करेंगे इस वाले एरे पर करेंगे हमारा 6 है वो right position पे अपनी आ गया है ठीक है तो फिर हम इस पे लगाएंगे तो ये क्या हो गया 5, 4 और 3 बचे ठीक है अब इस पे हम आगे लगाते हैं 5 को हम pivot element मालेंगे इसे L मालेंगे और इसे H मालेंगे बस ये conditions को यादरना आराम से हो जाएगा switch shot फिर हमने इसे swap कर दिया होगा ठीक है तो basically जब हमारा एक element बच जाएगा तो हमारी shorting complete हो जाएगी और जो थारे element की जो position होगी जैसे कि हमारा 2 यहाँ पर आ गया था ठीक है इन सब को आपको जाएगा ना, आपको लास्ट में ऐसे सीधर लिख देना है, आपको पता तो है ये shorted के बाद क्या आता है, ठीक है, तो आपने ये लिख दिया, ऐसे एक answer आ गया, ठीक है, अब देखो यहाँ पर यहाँ पर, 2021 और 2022 में यह वाला जो numerical आया था, आपको इसको मर्च और इज अच्छा टिंग एलगोरिथम डेट यूजिज द आईडीआ ऑफ डिवाइड एंड कॉनकर यह भी किसका आईडिया यूज करता है डिवाइड और कॉनकर का ठीक है दिन एलगोरिथम डिवाइड एंड टू हाफ्ट शॉट दें सेपरेटी एंड दें मर्च दे कि हम बहुत बड़ी problem को छोटी-छोटी problems के अंदर divide कर देते हैं, और फिर उन छोटी-छोटी problems को हम solve करते हैं, ठीक है, फिर हम divide and conquer का ऐसे use होता है कि हम कोई भी बड़ी problem को छोटी-छोटी problem में divide कर दो, और फिर उन problem को solve करो, this procedure is recursive when the base criteria that the number of element in an array is not more than 1, ठीक है, मतलब कि, यह जब कब तक उसे डिवाइड करता रहेगा जब तक कि एक element न रह जाए एरे के अंदर ठीक है तो देखो यहाँ पे merge shot मैंने बहुत चोटा सा यहाँ पे algorithm लिख रखा है इसे समझो पहले हम l is equal to 1 लिखते हैं any slice number of element in sub-array यानि कि 1 तक रहेंगे ठीक है repeat step 3 and 5 while l is less than n, n मतलब क्या हमारा, n हमारा जो array का size होगा ठीक है और call merge pass यानि कि यह क्या करेगा, merge करेगा कहां से कहां तक, lower मतलब देखो यह वाला जो algorithm में आपको जब समझ में आएगा जब आप यह numerical समझ लोगे ठीक है यह वाला algorithm बहुत छोटा है आप इसे याद कर सकते हो ठीक है मतलब कि बस इसके अंदर मर्च पास दो बार कॉल करते हैं और फिर हो जाता ठीक है तो यह वाला पहले आप numerical समझो फिर आपको algorithm मैं यह करके दिखाऊंगा क्योंकि ना मैं चाहता हूँ कि आपको अच्छे से समझ में आ जाए नुमेरिकल देखो नुमेरिकल इंपोर्टेट है यह जो एलगोरिटम है ना अगर आपको नुमेरिकल आता है तो आई एलगोरिटम आप अपने आपसे लिख दोगे तो सबसे पहले आपको क्या करना है ना एरे को इन आफ टू हाफ्ट में बदल डिवाइड करते जाना ठीक है तो इसका जो इंडेक्स होगा तो इसका answer क्या आएगा, 3 आएगा, ठीक हो 3.5 आएगा, लेकिन flow division लेते हैं, तो 3 आएगा, ठीक है, यहाँ पर आएगा, तो अब क्या करना आपको, यहाँ से लेकर एक array को divide करना है, और यहाँ से लेकर यहाँ से divide करना है और एक बन जाएगा ये ठीक है अब देखो 13, 16, 10, 11 और यहाँ पे आएगा 4, 12, 6, 7 ठीक है अब इसका index क्या हो जीरो 1, 2, 3, 4, 5, 6, 7 तो जीरो से लेकर 3 तक डिवाइड कर दो 2 से तो क्या आएगा 1 आएगा ठीक है इसको कर दो 4 प्लस 7 डिवाइड बाई 2 तो क्या आएगा 5 तो 1 तक यह हो जाएगा 13 और 16 और यह फ़र्थ डिवाइड होगा कितना 10 और 11 और यह होगा तो 14 और 12 और यह होगा 16, 6 और 7 ठीक है इसका फिर index लिख लो बस आपको ऐसे करना है फ़र्थ डिवाइड करते रहना है और जब तक डिवाइड करना है जब तक कि array के अंदर हमारा ऐसे आपको एक element को वहाँ पे ऐसे ही show करके आना ठीक है इतना अच्छे से representation करके आओगे उत्ते सई number मिल जाएगे ठीक है अब आप इसको ना ऐसे arrow के form में भी दिखा सकते हो जैसे कि मैंने यहाँ पर arrow बना के दिखाया हुआ है ठीक है तो देखो यहाँ पर हमारे single element हो गए अब क्या करेंगे इन single elements को हम क्या करेंगे compare करके एक नए array के अंदर store करते जाएगे ठीक है तब से पहले हम क्या करेंगे इसको लेंगे यह पहले हमारा देखो यह डिवाइड होकर ना ऐसे 2 में गया था ठीक है डिव तो यह 2 में ऐसे होगा ठीक है, मतलब कि 2 पार्ट में डिवाइडेड है, तो सबसे पहले 13 और 16 को लेंगे, ठीक है, क्या 13 हमारा 16 से बड़ा है, नहीं है, तो 13 को ऐसे स्टोर कर लेंगे, 16 को ऐसे स्टोर कर लेंगे, फिर आप देखेंगे 10 को, ठीक है, मतलब कि पहले तो इन अब हम क्या करेंगे इस वाले को और इस वाले को दोनों को compare करेंगे कैसे एक pointer यहाँ पर आता है पहले हम compare करेंगे पहले हमने array बना लिया ठीक है पहले हम compare करेंगे 13 और 10 को क्या 13 10 से बड़ा है नहीं है तो 10 को यहाँ पर store कर देंगे ठीक है अब 13 यही पर रहेगा 10 वाला pointer आगे बढ़ जाएगा अब 13 और किसको check करेंगे यह क्या था हमारा 11 था 13 और 11 को 11 चोटा है तो 11 यहाँ पर आजाएगा ठीक है अब देखो यह जैसे pointer बाहर जाएगा ना तो यह जैसा है एरे होता है वो पूरा का पूरा इसके अंदर कॉपी कर देंगे ठीक है अब यह हो गया अब यह दूसरा आप इसे कंप्यूट करेंगे फॉर और ट्वेल को अब बिल्कुल जैसे हमने यहाँ पर 2-2 का किया था वैसे इनसे 4-4 का compare करेंगे पहले यहाँ पर एक आयरे बना लेता हूँ ठीक है पहले आपको 10 और 4 को compare करना है तो इन दोनों में से कौन सा बढ़ा है इसको चोटा कौन सा है 4 है अब 6 और 10 को compare करेंगे तो 6 आएगा ठीक है 12 और 10 को compare तो 10 आएगा और इस वाले pointer को आगे बढ़ा देंगे अब 11 और 12 को compare करेंगे तो 12 आएगा ठीक है तो इस वाले pointer को आगे बढ़ा देंगे अब 13 और 12 को compare करेंगे तो 12 आएगा और इस वाले pointer को आगे बढ़ा देंगे जैसे ही आगे बढ़ जाएगा यानि कि इस वाले से मतलब size से जाधा बढ़ जाएगा तो क्या करेंगे हम पूरे के पूरे content को यहाँ पर copy कर देंगे 13 और 16 को देखो यहाँ पर अब समझ में आ रहा होगा आपको कि हमारा जो l है अगर छोटा है जब ही तक चलेगा लेकिन जैसे ही वो मतलब कि इस वाली यह जो length है वो जैसी n से बड़ी हो जाएगी तो क्या होगा कि हमारा वाला loop से बाहर आ जाएगा और वो copy कर देगा पूरे element को ठीक है यह होता है हमारा यह merge shot ठीक है समझ में आ गया होगा देखो divide किया पहले फिर उसको solve किया और फिर उसे conquer यानि की merge कर दिया ठीक है I hope merge shot समझ में आ गया होगा ठीक है इसकी complexity n log n मैंने आपको बता दी space complexity o n यह वाला जो numerical है हमारा 2020 और 2021 में आया है प्लीज इसे कर लेना एक बार अपनी copy में जैसे कि मैंने आपको यह वाला करवाया न बिल्कुल वैसे एक बार करके देख लेना यह वाला ठीक है तो आपका यह वाला भी sorting हो जाएगा तो merge shot और quick shot हो गया अब देखते हैं next heap shot ठीक है heap shot है न basically मैं अभी fourth unit कराने वाला हूँ heap shot मतलब कि trees का concept जब आप समझ लोगे न इसके अंदर हीप शॉट find the largest element and puts it at the end of the array then the second largest element is found and the process is repeated for all the other elements देखो हीप शॉट के अंदर हमने या तो maximum element find कर सकते हैं या तो minimum element find कर सकते हैं मैंने इसके अंदर max heap का concept बताया है तो मैं max वाले का लेके चलूँगा ठीक है आप किसी भी एक कर सकते हो ठीक है अगर आप max heap बनाओगे तो आप maximum element को लेके करोगे अगर आप mean heap बनाओगे तो आप minimum element को लेके करोगे ठीक है इसके अंदर हम एक hippify method का use करना होता है जिसके अंदर हमें एक tree बनाना होता है, max tree बनाना होता है अब देखो इसका है ना, heapify, max heapify का यह algorithm होता है सबसे पहले, मतलब मैं यह algorithm अभी आपको समझाओ ना, आपको समझ नहीं आएगा पहले आपको यह बतलब, यह समझना पड़ेगा मतलब कि आपको पहले एक साइड एग्जांपल समझना पड़ेगा build max heap, यानि कि आपको सबसे पहले एक max heap बनाना है फॉर आई लेंथ मतलब की उल्टा चलाना है ठीक है लेंथ जितने भी आपकी एरे की लेंथ है वहाँ से लेकर आपको टू तो चलाना है उस लूप को ठीक है फिर क्या करना है आपको एक्सचेंज करते रहना है वन के साथ किसको आई को ठीक है और फिर हीप के साइज के साथ अब मैं आपको numerical समझाओ तो आपको अच्छे समझ में आ जाएगी इसके algorithm तो आपको इन्हां basically numerical ही समझ नहीं है हर shorting के आपको algorithm के अंदर इतना ज्यादा जाना नहीं है आपको अगर numerical आता है तो आप algorithm अपने आप लिख दोगे बना कर अब देखो यहां पर हमारे पास यह वाला example है चोटा सा यहां में हमारे पास यह एरे 15, 20, 7, 9, 30 देखो हीप शॉट आता है और कोई अगर शॉटिंग आती है तो आप हीप शॉट को मत करना क्योंकि हीप शॉट के अंदर क्या होता है बहुत ज़्यादा पेज भर जाते हैं ठीक है जब आपका left बढ़ जाएगा फिर आपको right में जाना है जब आपका right बढ़ जाएगा फिर आपको आगे left में further जाना है ठीक है देखो पहले आपने 15 लिया ठीक है अब 15 को किसी के साथ compare नहीं कर सकते क्योंकि single element है फिर आप लोगे 20 20 को आपको left के अंदर डालना है फिर क्या करो आप 20 को 15 से compare करो क्या 20 हमारा 15 से बढ़ा है हाँ बढ़ा है तो क्या करो interchange कर दो तो swap कर दो हमने swap कर दिया है अब क्या करो आप 7 को insert करेंगे 7 को left के अंदर तो 15 आगया अब right के अंदर insert करेंगे 7 को 7 कम ने insert किया, 7 को अब क्या करो, compare करो उपर वाले से, क्या ये इससे बड़ा है, नहीं है, तो वैसा का वैसा रहने दो, अब क्या करो, अब 9 को insert करना है, तो देखो left भी भर गया, अब right भी भर गया, अब देखो left का left भरो, ठीक है, left का left, अब देखो left का left क्या है, 9, अब दे पहले आपने left का ये देखा भरा हुआ है, फिर आपने right का देखा ये भरा हुआ है, अब left का left देखो ये भरा हुआ है, अब left का right देखो कि या वो भरा हुआ है या नहीं भरा हुआ है, तो यहाँ पर डाल दो, ठीक है, 30 को यहाँ पर डाल दिया, आप क्या करो 30 को compare करो पहले तो यहाँ पर 30 आ गया, यह हमारा क्या हो गया, यह हमारा max heap हो गया, max heap का मतलब basically यह होता है, कि हमारा जो root element होगा, tree का, वो क्या होगा, वो हमारा maximum होगा, तो देखो यहाँ पर हमारा जो root element है 30, यह हमारा क्या है, maximum है, अब आपको क्या करना है, आपको basically इसको follow करते हुए, य 9 लिख दिया, फिर left के right में जाना है 15 है, 15 लिख दिया, ठीक है, ऐसे आपको array लिखना है, फिर आपको max heap के बाद 2 operation बस perform करने हैं, ठीक है एक क्या करना है, deletion किसका करना है, आपको जो आपका root element है, इसे delete करना है, ठीक है, और फिर क्या करना है, swap करना है, उसे last element के साथ, ठीक है, एक तो आपने delete किया है, इसे 30 को, फिर उसे last element यहाँ पे क्या है, 15 है, ठीक है 15 को आपको क्या करना है, आपको 30 की जगा मैंने यहाँ पे basically 30 को delete कर दिया और उसको उसकी जगा पे किसे insert कर दिया 15 को insert कर दिया तो हमारा जो यह array था न यह 30 last में आ गया है और इसे last में डाल के आपको array को कम करते जाना ठीक है बस basically आप इसमें क्या कर रहे हो array को दो part के अंदर divide कर रहे हो sorted और unsorted के अंदर ठीक है देखो यह बस दो operation और maximum बनाना सीख जाओ आराम से यह वाले shorting हो जाएगी ठीक है यह देखो हो गई होगी यह अब हमारे पास इतना tree रह गया अब इतने tree को आपको क्या करना है इसको बस comparing करना है कैसे आपको सबसे पहले 9 को compare किया होगा 20 के साथ क्या 20 9 से मतलब 9 हमारा क्या बड़ा है 20 से नहीं है तो वैसे के वैसे ही अब आपने क्या किया फिर 7 को compare किया क्या यह है नहीं है तो आपने 20 को जब compare किया तो 20 हमारा क्या है 15 से बड़ा है तो आपको कहना है swipe कर देना ठीक है, अब हमने 20 को ऊपर पहुचा दिया है, swipe हो गया, अब देखो यह हमारा क्या बन चुका है, एक और max ही बन चुका है second part के लिए, ठीक है, अब आपको basically दो operation को perform करना है, तब से पहले 20 को delete करना है, और last element के साथ उसे क्या करना है, swipe करना है, अब हमने देखो 15 को किसे compare के 9 के साथ क्या बड़ा है हाँ बड़ा है तो हमने क्या किया उसको swipe कर दिया 15 उपर आ गया ये एक और max heap बन गया deletion करो और swipe कर दो 15 यहाँ पर आ गया अब क्या बचा हमारे पर 9 और 7 बचा compare किया नहीं है ऐसा कुछ यह max heap पहले से ही है अब 9 को य और numerical आपको मैंने अच्छे समझा दिया है, numerical के आपको पूरे number मिल जाएंगे, complexity होती है, आपकी heap shot की n log base में 2 और n, ठीक है, n log n होती है basically, ठीक है, heap shot की complexity, यह याद रखना, एक definition शोटी सी, एक complexity, एक algorithm, एक numerical example के लिए, ठीक है, तो यहाँ पर आपकी heap shot भी खतम हो गई, next है हम that is used for integers, यह हमारे integers के लिए used होती है, in radix sort, there is digit by digit shorting is performed that is started from the least significant digit in the most significant digit, यानि कि tenth से start, once से start होती है, और जितना भी, यानि कि hundred से, thousand से जितने भी होगी, उने, मतलब least, यहाँ पे कहने रहे है, least significant digit to most significant digit, और उन सब को हम क्या करेंगे, sort करते रहेंगे, देखो, basically इसकी time complex इसकी होती है, D x N plus M, ठीक है, देखो यहाँ पर D क्या होता है, number of digit, यह होता है हमारा D, N होता है हमारा number of elements, और B होता है हमारा base of the number system, ठीक है, base यानि कि, बाइट भी है, डेसिमल है, ठीक है, यह होता है हमारा, इसकी complexity, इस थोड़ी इसी मतलब कि, पहले से complexity से थोड़ी इसी difference है, तो याद करने में थोड़ी problem हैगी, लेकिन, algorithm देखो redx.com का सबसे पहले क्या करेंगे हम redx मतलब पहले algorithm बता देता हूँ चलो ठीक है इसके अंदर आप सबसे पहले क्या करोगा max element को find करोगे largest element in the given array मतलब पहले आप क्या करोगे पूरे array में से सबसे largest element को find करोगे और max के अंदर store कर दोगे फिर d के अंदर क्या आएगा number of digit in the largest element मतलब कि आपकी largest element कोई भी है जैसे कि आपका largest element है 400 तो उसके अंदर digit कितनी है उसके अंदर digit हैंगी आपाई 3, 4, 0, 0 ठीक है उसको डी के अंदर store करना, now create a bucket, डी bucket, यानि की डी size की आपको एक bucket बनानी है, जिसका size कितना होगा, 0 से 9, जिसके अंदर हम मतलब 0 से 9 digits को store कर सकते हैं, ठीक है, 4, 0, i हमारा कहां से चलेगा, 0 से लेकर d तक चलेगा, जितनी हमारे digit होगी, ठीक है, अब उनको हम short करें� यहाँ पे मैंने एक और algorithm लिख रखा है ठीक है जिससे आपको और अच्छे समझ में आए एक बार पढ़ लेना देखो यही बेसिक लिखा हुआ है find the maximum element in the array calculate the number of digit in the maximum element repeat the step 4 to 8 pass 1 to NOS यानि NOS हमारा क्या है number of digit in the max element ठीक है फिर क्या करना है आपको अब यह एला algorithm आप पढ़ ले 75, 90, 802, 24, 2 and 66 इस पूरे area को हमें क्या करना है? short करना है तो सबसे पहले क्या करना है?
हमें basically इसके अंदर largest element को find करना है तो largest element इसके अंदर कौन सा है? आपका जल्दी बताओ इसके अंदर element है 802 ठीक है largest element जो maximum element है इसके अंदर digit कितनी है? 3 है ठीक है आप क्या करो? तीन digit के बना दो सारे के सारे element सबके आगे आपने लगा दिया है?
जीरो ठीक है जिनके आगे जीरो नहीं है जैसे कि 45 है उसका आपको दीन डिलीज का बनाना है आपने जीरो लगा दिये सबके आगे ठीक है ऐसे जीरो लगा दो जैसे टू था उसके आगे दो जीरो लगा दिये अब क्या करो उसे least significant से most significant तक उसे short करो ठीक है first consider the ones place यानि कि ये जो है ना जीरो 5 जीरो इनके इसापसे से short कर दो ठीक है बिल्कुल basically आपको numerical ऐसी करके आना ठीक है algorithm तो मैंने आपको समझा दी ठीक है कैसे करना है अब देखो basically यहाँ पे जो जीरो आ रहे हैं उनको पहल यहां से start करो, पहले आया 0, 170 यहां पे लिख दिया, ठीक है, अब देखो 5 आया, 5 को छोड़ो, फिर 5 आया छोड़ो, 0 आया, 0 को यहां पे लिख दिया, ठीक है, 2 आया, 0 से बड़ा है, यहां पे लिख दिया, ठीक है, फिर ऐसी 4 आया, ठीक है, 4 को छोड़ो, 2 आया, यहां पे फिर आपको करना है 10th place के इसाब से आपको short करना है ठीक है, बीच वाले element को देखना है 7, 4, 7, 9 इसके इसाब से आपने short कर दिया सबसे पहले देखो, यहाँ पे 0 सबसे चोटा होगा 802 में, 0 सबसे पहले आ रहा है ठीक है, 802 को आपने सबसे पहले लिख लिया थाउजन प्लेस पर तो आप उसे थाउजन प्लेस पर भी कर देते तो यह क्या हो गया हमारा शॉर्टेड एरे हो गया तो बेसिकली ये ना अगर मैं इसे और समझाना चाहूँ तो बहुत बड़ी बड़े डाइग्राम बगरा बना के समझा सकता हूँ लेकिन बेसिकली इसका हेश टेबल सपोर्ट वन अवध द मोस्ट इफिशेंट टाइप्स ऑफ सर्चिंग तो देखो हेशिंग के अंदर हम हेश टेबल का यूज करते हैं अभी मैं जब एक्जांपल बताओंगा हेशिंग के तो आपको अच्छे समझ में आ जाएगा डिफाइन हेशिंग और देर टेक्निक्स और अगर नुमेरिकल आता है तो बहुत इजी रहता है एक हेश टेबल एक अरेज के लिए जिसके बाद डाटा अपना विशेष इंडेक्स विशेष टेबल चाहिए इसके अंदर क्या होता है कि हमारा हेश टेबल कुछ नहीं है बस एक अरेज ठीक है एमटे एरेज होती है उसके अंदर हम टेक्निक का यूज करते हेश का प्रामरी आइडिया बिहेंड दा हेश टेबल इस टू इस्टाम लेस अ मैपिंग बिट्वीन अ सेट ऑफ ऑल पॉसिबल कीज एंड पोजिशन इन आरेज यूजिंग आ हेश फंक्शन अब देखो इसके अंदर हम एक हेश फंक्शन का यूज डिरेक्टली कोंस्टेंट टाइम के अंदर हम किसी भी एलिमेंट को सर्च कर सकेंगे एरे के अंदर ठीक है देखो कोंस्टेंट टाइम इसका मतलब कि बेस्ट जो इसका मतलब इंपोर्टेंट जो पॉइंट है ना वो यही है कि हम इसके अंदर कोंस्टेंट टाइम के अंदर सर्च कर सकते हैं किसी भी एलिमेंट को और जो पहले हमारा जो था उसके अंदर हम लिनियर चाहे हमारा लिनियर लग रहा हो चाहे हमारा बाइनरी लग रहा हो उन समके अंदर किसी के अंदर को लेकिन इसके अंदर हम constant time, constant time होता है O ठीक है, इसके अंदर हम search करेंगे, इस complexity के अंदर when a hash function can, देखो, the beauty of a hashing is that we can use it to perform constant time searches when a hash function can guarantee that no two keys will, देखो, इसके अंदर एक problem भी है collision की, ठीक है देखो, हमें एक address मिला, ठीक है, और उस address में हमें यह बताया गया है कि हमें यह element मिल जाएगा, ठीक है अब आगे जाके तुम्हें पताया चाहता है कि इसी address पे एक और element पड़ा हुआ है ठीक है तो वहाँ पर क्या हैगा collision आएगा कि मतलब एक ही address पे दो element कैसे पड़े हुए है ठीक है मतलब कि आपको एक दो element का same address मिल रहा है ठीक है तो वो होता है हमारा collision when two keys map to the same position मतलब हमारी दो keys same position को अगर map कर रही हैं तो क्या होता है they collide collide मतलब collision की problem आ जाती है the good hash function minimize collision जो हमारा अच्छा good function होता है, वो minimize कर देता collision को, but we must still prepare to deal with it, इसके अंदर हम collision resolution techniques को भी देखेंगे, मतलब उसके prepare रहना चाहिए, मतलब अगर ऐसा हो जाता है, तो हम उससे कैसे deal करेंगे, तो यह हमारा hedging का concept था, अगर मतलब आता है, थियोरी वाइस तो आप इतना सब लेख सकते हो, ठीक है, अब हम देखते हैं types of heads function, 2223 में आया थे, ठीक है, इसके लिए करवा रहा हूँ, पहला होता है हमारा division method कुछ नहीं है बस इसके अंदर यह जो मैं function लिखे है ना इन्हे याद कर लेना ठीक है division method के अंदर हम mod का use करते हैं जो हमारा hash function होता है उसके अंदर हम ऐसे करते हैं hk k mod m, m होता है हमारा जो size होता है hash table का और k जो हम find कर रहे होते हैं ठीक है तो यह ऐसे और उसके अंदर उसका जो middle part होगा ना कुछ उसको लेते हैं ठीक है जैसे कि in mid square method we square the key का square कर दो after getting number we take some digit from the middle of that number as an address ठीक है अब देखो यहाँ पर है ना हम इसे ऐसे हम इसके अंदर बन जाएगा एक हमारा की बन जाएगा ठीक है एक्सेस करने के लिए किसको थर्टीन थर्टी सैवन को तो ऐसे हम use करते हैं, ठीक है, इसके अंदर जो सबसे main important है वो हमारे division method है, जो कि हम आगे भी use करेंगे, इतना ज़्यादा यह use नहीं होते, ठीक है, मतलब कि बस आपको यह पता होना चाहिए, क्योंकि आप थिवरी में तो लिखकर आना पड़ेगा न, आपको, फिर हमारा folding method, यह हमारे पास एक, मतलब key है, ठीक है, अब इसको हमें has function के अंदर convert करना है, कैसे करेंगे, ठीक है, इसके अंदर हमें आप ऐसे लिख दे, k1 plus k2, मतलब कि यहाँ पर हमारे पास k1 यहाँ पर जैसे कि हमने 3 लिया है, और k2 में लिया है 2, और आगे जैसे लिया है तो हमने 3 ल यह हमारा के विन प्लस के टू इसके अंदर अगर हम यह वैल्यू होते हैं तो यह बड़ा बन गया क्या है फंक्शन बदल कि ऐसे समझ सकते हो आपने एक्सट्रेक्शन वह रहा पड़ा एक्सट्रेक्शन होता है ना हमारा वैसा है मतलब कॉनसेट कि हम क्या करें इसके अंदर ना हम जो वैल्यू को इन है मतलब सिक्योर करके रखने ठीक है कि हम आगे उसका यूज करें सके देखो यह हमारा जो नंबर है ना 1478 इसका हम यूज करके इस वाली नंबर को एक्सेस कर सकते हैं ठीक है इसे use कर सकते हैं, तो यह method का मतलब है हमारा has function, ठीक है, यह होते हैं हमारे 3 type, has function, ठीक है, अब आप देखेंगे collision resolution technique, मतलब कि अगर, देखो आगे numerical कराने वाला हूँ, ठीक है, अब पहले आप इसकी मतलब theory देख लो, जिससे कि आपको समझ में आ जाए, तो आप आगे numerical करके आ सको, ठीक है, पहले आपको theory समझ नहीं होती है, numerical के लिए, पहले हमारा collision resolution technique, देखो पहले मैं आपको महतरदी है कि collision होता क्या है, कि मतलब कि कोई भी अगर एक, हमारी एक position के लिए दो अगर कोई भी हमें function मिल दो हमें मतलब वो मिल रहे हैं address मिल रहे हैं तो क्या है हमारा वो collision हो रहा है कि मतलब उसके अंदर है न एक ही हमारे पास address है लेकिन उसके अंदर दो element पड़े हुए कैसे पड़े हुए कि उसके अंदर collision आ रहा है ठीक more than one key, अगर map करिए किसी hash value को, तो क्या होता है, वो collision होता है, collision resolution technique मतलब कि उससे बाहर कैसे हैं, दो होती हैं, एक होती है हमारी open और एक होती है close, close के अंदर हमारे तीन part होते हैं, linear probing, quadratic probing और double hashing, ठीक है, इसके अंदर, जो mainly आपको focus करना है, linear probing के अंदर करना है, क्योंकि प बेसिकली बस इसके अंदर जैसे आपने ये method याद की थे वैसे इसके अंदर भी आपको ये formula याद करने है hki h-k plus i mod m ठीक है ये आपको mention होता है आपके उसके अंदर question के अंदर आपको बस ये use करके उसे hash table के अंदर आपको data insert करना होता है और ये बताना होता है कितने number of time collision occurred हुआ ठीक है m क्या है हमारा size of hash table और hk क्या है हमारा basic hash function है quadratic probing क्या होती है इसके अंदर मतलब C1 और C2 आ जाते हैं जो कि हमारे auxiliary constant होते हैं मतलब ज़्यादा इसका use नहीं होता ज़्यादा अगर आपका linear probing का use होगा आपको linear probing अच्छे से करके जाना है ठीक है HKI H-K function जो कि हमारे auxiliary hash function हो गया C1 और C2 I2 और I next है हमारा double hashing क्या होती है इसके अंदर क्या होता है कि जैसे हमारे पास यहाँ पर auxiliary एक function होते हैं ना दो हेच फंक्शन आ जाते हैं ठीक है, H1 हेच फंक्शन और H2 हेच फंक्शन और I का यहाँ पर यूज करेंगे, mod app कर देंगे, H1 और H2 के हमारे auxiliary functions हैं और M के हमारा size of link list का यूज करते हैं, इस method maintain the chain of elements which have the same address, we can take the hash table as an array of pointer, ठीक है, इसके अंदर हम क्या करेंगे, जो table होती है, हमारी hash table, उसके अंदर हम link list का use करते हैं, link list का use करके हम hash table के अंदर keys को insert करते हैं, size of hash table can be number of records, hash addresses will be mentioned in the link list, जो हमारा addresses होंगे, वो किसके अंदर mention होगे, link list के अंदर, देखो, आप आए ना बस इतने, इसके definition वगरा याद रखना, और, मतलब exam के अंदर theory आती है, ज़्यादा इसके numerical वगरा नहीं आते, numerical जो आएगा, वो आएगा आपका linear probing का, ठीक है, क्योंकि पिछले दोनों बार आया हुआ है, तो हम इसके अंदर हमारे पास 1, 2, 3, 4, 5, 6, 7, 8, 8 keys हैं हमारे पास इनको हमें insert करना है are inserted into a initially empty hash table, हमें empty hash table के अंदर इसे insert करना है जिसकी length होने वाली 15, length इसके अंदर mention है, अगर length mention नहीं होती तो जितने element होते हैं उसके अधाब से आप hash table बना लेते हैं तो ठीक है यहाँ पे हमारी जो है length mention है, using open addressing, ठीक है open addressing का आपको use करना है इसके अंदर जिसके अंदर आपको hash function आपको दिया हुआ है, यानि कि देखो यहाँ पे आपको linear probing तो use किया हुआ है करना है ठीक है लेकिन linear probing के अंदर जो हमारा यह वाला function होता है न यह जो हमारा basic hash function होता है यह हमारा इसके अंदर given है ठीक है सब के अंदर given ही होता है ठीक है इसके अंदर हमारा given है कि K mode 10 और linear probing use करनी है keys आपने लिख ली देखो मैंने same to same keys लिख ली यह आपका auxiliary function जाना है यह आपने लिख लिया है अब आपकी जो length जाना है m आपने वो लिख लिया है m is equal to 15 अब जो आपका linear probing का फॉर्मूला है उसे लिखो linear probing का यह फॉर्मूला है आपको लिख लेना है इस hk की जगह इस वाले function का यह हम यूज़ करेंगे अब देखो आपको i की value 0 से लेकर m-1 या नहीं की 14 तक रख सकते हो ठीक है अब देखो आप hash कैसे करते है ठीक है अब numerical का solve करेंगे आपको लिखना है विर्कुल इस function के अंदर जो भी value से इसके अंदर given है ना वैसे-वैसे लिखती जानी है ठीक है, h, पहले हमारा क्या की, 12, ठीक है, i का, मतलब पहले से defaulted जो value set होती है, 0 से start होती है, ठीक है, 0 पे देखेंगे, 12, 0, ठीक है, तो अब पहले हमारा अंदर वाली को solve करेंगे, देखो, यहाँ पे मैं solve करके बताता हूँ, यहाँ पे न, h, 12, 0, तो पहले हम किसके अंदर जाएगे ये वाले इस वाले के अंदर जाएगे ठीक है HK के अंदर HK को हम अगर हम सॉल्व करेंगे तो क्या आएगा HK का आएगा 12 मोड 10 12 को अगर मोड करेंगे 10 से तो कितना आएगा 2 आजाएगा ठीक है तो 2 को हमने मेंशन कर दिया यहाँ पर 2 को मे 14 तक मतलब 15 है ना आपकी length तो आपको 14 तक बना लेनी है जीरो से लेकर और आपने देखा 2 पर कोई है element नहीं है तो आपने क्या किया 12 को mention कर दिया ठीक है बस ऐसी अब next क्या है हमारा 17 17 के साथ same कैसे होगा पहले 10 के साथ करेंगे तो 7 आएगा फिर mod करेंगे 15 के साथ तो 7 आएगा ठीक है तो देखो insert कर दिया ठीक है अब insert कर दिया अब हम क्या करेंगे 13 को check करेंगे फिर 3 को 15 के साथ करेंगे तो 3 आएगा 3 के साथ चेक करेंगे नहीं है कुछ भी तो 13 को insert कर देंगे ठीक है साथ की साथ करते जाने तो आपको समझ में अच्छे से आएगा अब देखो collision बतातो हूँ अब कैसे आता है यहाँ पर basically आपको समझ में आएगा अब जब हमने 2 को लाए 2 को हमने पहले 10 के साथ जब मोड कराया है आई किया है 0 तो क्या है फिर हमने 2 लेकिन 2 के अंदर हमने पहले से 12 को insert कर रहा है insert नहीं कर सकते तो इसके अंदर हम क्या आ गया यह collision आ गया ठीक है तो अब क्या करेंगे हम इसके अंदर linear probing का use करेंगे linear probing के अंदर क्या करते हैं हम i की value को बढ़ा देते हैं ठीक है तो अब ने क्या किया यहाँ पे 0 की जगा i की 0 था ना i को बढ़ा के 1 कर दिया ठीक है तो वैसे कि हम 2 plus 2 के लिए, i को 2 के लिए चेक करेंगे, i को जब 2 के लिए चेक किया, तो क्या है का 2 plus 2, 4 आ गया, 4 को जब हम करेंगे, 15 के साथ तो 4 आगा answer, 4 पे चेक करेंगे, क्या, 4 पे पहले से कोई पड़ा हुआ है, नहीं पड़ा हुआ है, तो 4 पे क्या insert कर देंगे, 2 को insert कर देंगे, क् 5 को 0 के साथ करेंगे 5 आजाएगा 5 पहले से कोई इंसर्ट नहीं है तो 5 को इंसर्ट कर देगे ठीक है फिर 6 पर चेक करेंगे 43 43 का हम करेंगे पहले मोड 10 के साथ तो 43 का 10 के साथ मोड करेंगे तो क्या आएगा 3 आजाएगा फिर 3 को प्रस करेंगे 0 के साथ 3 पर पहले से क्या mention है 13 13 पर mention नहीं कर सकते है फिर उसके साथ i को क्या करेंगे 1 बढ़ा देंगे तो 1 आ गया फिर हम क्या करेंगे उसे 3 करेंगे 3 पर क्या कोई 3 पर क्या करेंगे 3 प्लस 3 हो जाएगा 6 आएगा 6 पर क्या पहले से कोई mention है नहीं है तो 6 पर क्या करते हैं 43 को 3 collision हुए तो 3 को आपको ऐसे बढ़ा देना ठीक है ऐसे अब 5 को चेक कर लेना फिर आप 15 को चेक कर लेना तो जब आप इन सब को चेक कर लोगे तो आप जब लास्ट में जब सारे आपकी insert हो जाएगे तो आपकी hedging खतम हो जाएगी और जब आपकी number of collision आपनी यहाँ पे चेक कर रहे हो और लास्ट में हमारे इसके अंदर है ना 12 collision हुए ठीक है तो आपको ऐसे कर लेना ठीक है बहुत easy है मतलब कि आप आराम से कर लोगे मतलब अब सारे बिल्कुल एक-एक स्टेप समझाओं ठीक है और आपको मतलब यह इसके अंदर सॉल्व करना था ना कि कोलीजन पूछा था ना कि के अंदर ना कुछ और पूछा था ठीक है बस इसके अंदर सॉल्व करना तो आपने ही सॉल्व कर दिया अब बिल्कुल ऐसा ही सेम टू सेम एक कोशिन आया हुआ है हमारा 2020 और 2021 में और हमारी m की value given थी 7, जिसके अंदर आपको hash table बनानी है 0 से लेकर 6 से, जैसे कि मैंने यहाँ पर 0 से लेकर 14 तक बनाई थी, आपको ऐसे ही 0 से लेकर 6 से बनानी है, और इसके अंदर, देखो, मैं आपको बता दो, comment क्या करना है वीडियो के नीचे, ठीक है, आपको एक तो और number of collision इस question के अंदर कितने हुए comment करना है ठीक है आपको ऐसे लिखना है hash second question और comment करके लिख देना ठीक है तो मैं आपको check करके बता दूँगा सही है या फिर गलत है ठीक है तो अगर आप ये question कर लोगे तो इसके साथ आपकी ये unit जो है आपकी ये पूरी फुली complete हो जाएगी आपकी searching भी हो गई, sorting भी हो गई और hashing भी हो गई ठीक है पास होने के चांसें बहुत ज्यादा भड़ जाते हैं आप पास अराम से हो जाओगे ठीक है कोई दिक्कत ही नहीं है और जो मैंने यूनिट कवर करा दिये हैं फर्स्ट और सेकंड उनको भी देख लेना और आगे की जो यूनिट है बहुत जल्दी आने वाली है ठीक है तो डीएस की तो चिंदा मत करो और सब्जेक्ट अगर आपको चाहिए तो आप कमेंट करो जल्दी से जल्दी चैनल को सब्सक्राइब करो जल्दी से जल्दी आप सब्सक्राइबर भड़वाओ और अगर आप घर पर सब्सक्राइब अपने करवा सकते हो ना और डिवाइ आपको मिल जाएगा और भी कोई वीडियो अगर की अपडेट हाती रहती है तो आपको टेलीग्राम पर मिल जाती है