Sorting क्या है और इसके प्रकार – Sorting in Data Structure in Hindi

Sorting क्या है?

डेटा स्ट्रक्चर में Sorting एक ऐसी प्रक्रिया है जिसमें data या elements को एक निश्चित क्रम (order) में arrange किया जाता है।

यह क्रम (order) मुख्य रूप से दो प्रकार का हो सकता है:-

  • Ascending Order (बढ़ते क्रम में)
  • Descending Order (घटते क्रम में)

Ascending Order में elements को छोटे से बड़े क्रम में arrange किया जाता है।
उदाहरण: 10, 20, 30, 40 (छोटे से बड़े)

Descending Order में elements को बड़े से छोटे क्रम में arrange किया जाता है।
उदाहरण: 40, 30, 20, 10 (बड़े से छोटे)

Sorting की मदद से data को व्यवस्थित (organized) किया जाता है जिससे उसे समझना और उपयोग करना आसान हो जाता है।

Sorting का मुख्य उद्देश्य data को इस तरह व्यवस्थित (organize) करना है कि उसे search (ढूंढना) और analyze करना आसान हो जाए।

Sorting की आवश्यकता (Need of Sorting)

  1. Searching को आसान बनाता है – जब data सही क्रम (sorted) में होता है, तो हमें किसी भी चीज़ को ढूंढना आसान हो जाता है।
  2. Data को समझना आसान होता है – जब data अच्छे से arrange होता है, तो उसे देखना और समझना आसान हो जाता है। जैसे- marks को rank के अनुसार लगाने से तुरंत पता चल जाता है कि Class में कौन first आया है और कौन last आया है।
  3. समय की बचत होती है – जब data पहले से sorted होता है, तो हमें बार-बार मेहनत नहीं करनी पड़ती। इससे काम जल्दी पूरा हो जाता है और time बचता है।

Sorting का महत्व

Sorting का संबंध Searching (खोजने) से भी होता है। जब डेटा sorted होता है तो किसी भी element को ढूंढना बहुत आसान और तेज हो जाता है।

हमारी रोज़मर्रा की जिंदगी में भी sorting के कई उदाहरण देखने को मिलते हैं, जैसे:-

  • Google में किसी topic को search करना
  • किताब में किसी page को ढूंढना
  • Dictionary में किसी शब्द को ढूंढना
  • परीक्षा में roll number के आधार पर students की list
  • मोबाइल contacts में नाम के अनुसार नंबर ढूंढना

इन सभी जगहों पर data पहले से sorted (क्रमबद्ध) होता है, इसलिए हमें चीजें जल्दी मिल जाती हैं।

Types of Sorting in Hindi (सॉर्टिंग के प्रकार)

Sorting in Data Structure in Hindi

यह दो प्रकार का होता है।

  1. Internal Sorting
  2. External Sorting

1:- Internal Sorting

इस sorting में sort किये जाने वाला सभी डेटा main memory (RAM) में ही रहता है और वहीं पर sort किया जाता है।
यह तब use होती है जब data कम मात्रा में होता है और आसानी से memory में आ जाता है।

Internal sorting के प्रकार निम्नलिखित है:-

  1. Bubble Sort
  2. Insertion Sort
  3. Quick Sort
  4. Heap Sort
  5. Selection Sort

2:- External Sorting

External Sorting वह होती है जिसमें data इतना बड़ा होता है कि वह main memory (RAM) में पूरा नहीं आ पाता। इसलिए डेटा secondary memory (जैसे hard disk) में रखा जाता है और वहीं से process करके sort किया जाता है।

External Sorting का एक ही प्रकार होता है।

  1. Merge Sort

Bubble Sort in Hindi – बबल सॉर्ट क्या है?

Bubble Sort एक बहुत ही सरल sorting algorithm है जिसका उपयोग array या list के elements को ascending या descending order में arrange करने के लिए किया जाता है।

इस algorithm में दो-दो adjacent elements (पास-पास वाले elements) को compare किया जाता है।

अगर left वाला element right वाले element से बड़ा होता है, तो दोनों की position आपस में बदल दी जाती है (swap)।

यह process बार-बार दोहराई जाती है जब तक पूरा array sorted नहीं हो जाता।

Bubble Sort में हर pass के बाद सबसे बड़ा element धीरे-धीरे array के अंत में पहुँच जाता है, इसलिए इसे Bubble Sort कहा जाता है।

Bubble Sort का उदाहरण

मान लीजिए array है: 5, 1, 4, 2

First Pass

5 और 1 compare → swap
1 5 4 2

5 और 4 compare → swap
1 4 5 2

5 और 2 compare → swap
1 4 2 5

अब 5 सबसे अंत में पहुँच गया।


Second Pass

1 और 4 compare → सही है

4 और 2 compare → swap

Array बन जाएगा:

1 2 4 5

अब array लगभग sorted हो चुका है।

Bubble Sort Algorithm के Steps

Step 1

Array को कई passes में check किया जाता है। इसके लिए k = 1 से n − 1 तक steps को बार-बार दोहराया जाता है।

Step 2

हर pass में array के पास-पास वाले elements को compare किया जाता है। इसके लिए p = 1 से n − k तक comparison किया जाता है।

Step 3

अगर A[p] > A[p+1] हो तो दोनों elements की position आपस में बदल दी जाती है (swap)।

Step 4

जब सभी passes पूरे हो जाते हैं, तो array के सभी elements sorted order में आ जाते हैं।

Bubble Sort की Time Complexity

CaseTime Complexity
Best CaseO(n)
Average CaseO(n²)
Worst CaseO(n²)

Selection Sort क्या है?

Selection Sort एक सरल sorting algorithm है जिसका उपयोग array या list के elements को ascending या descending order में arrange करने के लिए किया जाता है।

इस algorithm में हर बार array में से सबसे छोटा element (minimum element) खोजा जाता है और उसे array की सही position पर रख दिया जाता है।

इस प्रक्रिया को बार-बार दोहराया जाता है जब तक सभी elements सही क्रम में arrange नहीं हो जाते।

Selection Sort का उदाहरण

मान लीजिए array है:

64, 25, 12, 22, 11

First Pass

सबसे छोटा element 11 है।
इसे पहले element 64 से swap कर देंगे।

Array बनेगा:

11, 25, 12, 22, 64


Second Pass

अब बाकी elements में सबसे छोटा element 12 है।
इसे 25 से swap करेंगे।

Array बनेगा:

11, 12, 25, 22, 64


Third Pass

अब सबसे छोटा element 22 है।
इसे 25 से swap करेंगे।

Array बनेगा:

11, 12, 22, 25, 64

अब array पूरी तरह sorted हो गया।

Selection Sort Algorithm के Steps

Step 1

सबसे पहले array के पहले element को minimum (सबसे छोटा) मान लिया जाता है।


Step 2

अब बाकी सभी elements को check किया जाता है कि क्या उनसे छोटा कोई element मौजूद है।

अगर छोटा element मिल जाता है तो उसे नया minimum element मान लिया जाता है।


Step 3

जब पूरा array check हो जाता है, तब minimum element को पहले element से swap कर दिया जाता है।


Step 4

अब यही प्रक्रिया दूसरे element से शुरू की जाती है और फिर से बाकी array में smallest element खोजा जाता है।


Step 5

यह प्रक्रिया तब तक दोहराई जाती है जब तक array के सभी elements sorted order में न आ जाएँ।

Selection Sort की Time Complexity

CaseTime Complexity
Best CaseO(n²)
Average CaseO(n²)
Worst CaseO(n²)

Insertion Sort क्या है?

Insertion Sort एक सरल sorting algorithm है जिसका उपयोग array या list के elements को सही क्रम (sorted order) में arrange करने के लिए किया जाता है।

इस algorithm में elements को एक-एक करके सही position पर insert (डाला) किया जाता है। 

यह तरीका वैसे ही काम करता है जैसे ताश (cards) को हाथ में सही क्रम में लगाना।

पहले element को sorted माना जाता है, फिर अगले elements को उनके सही स्थान पर insert किया जाता है।


Insertion Sort का उदाहरण

मान लीजिए array है:

8, 3, 5, 2

First Pass

पहला element 8 पहले से sorted माना जाता है।

अब 3 को 8 से compare करेंगे।
3 छोटा है इसलिए इसे 8 से पहले रखेंगे।

Array बनेगा:

3, 8, 5, 2


Second Pass

अब 5 को 8 से compare करेंगे।
5 छोटा है इसलिए 8 को right shift करेंगे।

Array बनेगा:

3, 5, 8, 2


Third Pass

अब 2 को 8, 5 और 3 से compare करेंगे।
2 सबसे छोटा है इसलिए इसे सबसे पहले रखेंगे।

Array बनेगा:

2, 3, 5, 8

अब array पूरी तरह sorted हो गया।

Insertion Sort Algorithm के Steps

Step 1

सबसे पहले array के पहले element को sorted मान लिया जाता है।


Step 2

अब दूसरे element से शुरू करके हर element को पहले से sorted part के साथ compare किया जाता है।


Step 3

अगर current element छोटा है तो बड़े elements को एक position right shift कर दिया जाता है।


Step 4

जब सही position मिल जाती है तो current element को उस स्थान पर insert कर दिया जाता है


Step 5

यह प्रक्रिया तब तक दोहराई जाती है जब तक array के सभी elements sorted order में न आ जाएँ।


Insertion Sort की Time Complexity

CaseTime Complexity
Best CaseO(n)
Average CaseO(n²)
Worst CaseO(n²)

Shell Sort क्या है?

Shell Sort एक sorting algorithm है जिसका उपयोग array या list के elements को सही क्रम (sorted order) में arrange करने के लिए किया जाता है।

यह algorithm Insertion Sort का improved version माना जाता है।
Insertion Sort में elements को एक-एक करके सही स्थान पर रखा जाता है, लेकिन जब elements बहुत दूर होते हैं तो ज्यादा shifting करनी पड़ती है।

Shell Sort इस समस्या को कम करने के लिए पहले दूर-दूर के elements को compare करता है, फिर धीरे-धीरे distance (gap) कम करता जाता है।
इससे elements जल्दी अपनी सही position के पास पहुँच जाते हैं और sorting तेज हो जाती है।


Shell Sort Algorithm के Steps

Step 1

सबसे पहले array का size n लिया जाता है और एक gap निर्धारित किया जाता है। आमतौर पर gap = n / 2 लिया जाता है।


Step 2

अब gap के अनुसार elements को compare किया जाता है। मतलब जिन elements के बीच gap की दूरी है उन्हें compare किया जाता है।


Step 3

अगर left वाला element right वाले element से बड़ा है तो दोनों elements को swap (स्थान बदल) दिया जाता है।


Step 4

पूरे array में इसी प्रकार gap के अनुसार comparisons किए जाते हैं।


Step 5

अब gap को आधा (gap / 2) कर दिया जाता है।


Step 6

Step 2 से Step 5 तक की प्रक्रिया तब तक दोहराई जाती है जब तक gap = 1 न हो जाए।

जब gap = 1 हो जाता है तो array पूरी तरह sorted हो जाता है।


Shell Sort का उदाहरण

मान लीजिए array है:

8, 5, 3, 7, 6, 2, 4, 1

अगर gap = 4 लिया जाए तो comparison होगा:

  • 8 और 6
  • 5 और 2
  • 3 और 4
  • 7 और 1

इसके बाद gap कम किया जाता है और फिर से sorting की जाती है।
अंत में gap = 1 होने पर पूरा array sorted हो जाता है।


Shell Sort की Time Complexity

CaseTime Complexity
Best CaseO(n log n)
Average Caseलगभग O(n1.5)
Worst CaseO(n²)

Merge Sort क्या है?

Merge Sort एक महत्वपूर्ण sorting algorithm है जिसका उपयोग array या list के elements को sorted order (सही क्रम) में arrange करने के लिए किया जाता है।

यह algorithm Divide and Conquer technique पर आधारित है। इसका मतलब है कि बड़ी problem को पहले छोटे-छोटे parts में divide किया जाता है, फिर उन parts को solve करके अंत में उन्हें merge करके final sorted array बनाया जाता है।

Merge Sort बड़े datasets को sort करने के लिए काफी efficient माना जाता है।

Merge Sort कैसे काम करता है?

Merge Sort में array को बार-बार दो बराबर भागों में divide किया जाता है जब तक कि हर part में केवल एक element न रह जाए।

इसके बाद उन छोटे parts को सही क्रम में merge (जोड़) करके पूरा sorted array बना दिया जाता है।

Merge Sort Algorithm के Steps

Step 1

सबसे पहले पूरे array को दो बराबर भागों में divide किया जाता है।


Step 2

हर भाग को फिर से दो भागों में divide किया जाता है।


Step 3

यह प्रक्रिया तब तक चलती रहती है जब तक हर sub-array में सिर्फ एक element न रह जाए।


Step 4

अब इन छोटे arrays को compare करके merge किया जाता है ताकि वे sorted order में आ जाएँ।


Step 5

छोटे sorted arrays को बार-बार merge किया जाता है जब तक पूरा array sorted न हो जाए।


Merge Sort का उदाहरण

मान लीजिए array है:

8, 3, 7, 4, 9, 2, 6, 5

Step 1 (Divide)

Array को divide करेंगे:

8 3 7 4 | 9 2 6 5

फिर:

8 3 | 7 4 | 9 2 | 6 5

फिर:

8 | 3 | 7 | 4 | 9 | 2 | 6 | 5


Step 2 (Merge)

अब merge करेंगे:

 8 और 3 → 3 8
7 और 4 → 4 7
9 और 2 → 2 9
6 और 5 → 5 6

फिर:

3 8 और 4 7 → 3 4 7 8
2 9 और 5 6 → 2 5 6 9

अंत में:

2 3 4 5 6 7 8 9


Merge Sort की Time Complexity

CaseTime Complexity
Best CaseO(n log n)
Average CaseO(n log n)
Worst CaseO(n log n)

Quick Sort क्या है?

Quick Sort एक तेज और लोकप्रिय sorting algorithm है जिसका उपयोग array या list के elements को sorted order (सही क्रम) में arrange करने के लिए किया जाता है।

यह algorithm भी Divide and Conquer technique पर आधारित है।
इसमें एक element को pivot चुना जाता है और बाकी elements को इस प्रकार arrange किया जाता है कि:-

  • pivot से छोटे elements left side में आ जाएँ
  • pivot से बड़े elements right side में आ जाएँ

फिर इसी प्रक्रिया को दोनों parts पर दोहराया जाता है जब तक पूरा array sorted न हो जाए।


Quick Sort कैसे काम करता है?

Quick Sort में सबसे पहले array में से एक element को pivot चुना जाता है।
इसके बाद array के बाकी elements को pivot के अनुसार दो भागों में divide किया जाता है।

  • छोटे elements → left side
  • बड़े elements → right side

फिर इन दोनों भागों पर फिर से Quick Sort लागू किया जाता है।


Quick Sort Algorithm के Steps

Step 1

सबसे पहले array में से एक element को pivot के रूप में select किया जाता है।


Step 2

अब array के बाकी elements को pivot के साथ compare किया जाता है।


Step 3

pivot से छोटे elements को left side में और बड़े elements को right side में रख दिया जाता है।


Step 4

अब pivot अपनी सही position पर आ जाता है।


Step 5

अब left part और right part पर फिर से Quick Sort को apply किया जाता है।


Step 6

यह प्रक्रिया तब तक दोहराई जाती है जब तक पूरा array sorted order में न आ जाए।


Quick Sort का उदाहरण

मान लीजिए array है:

10, 7, 8, 9, 1, 5

 अगर pivot = 5 लिया जाए तो array को arrange करेंगे:

 छोटे elements → 1
pivot → 5
बड़े elements → 10, 7, 8, 9

अब left और right parts पर फिर से Quick Sort लगाया जाता है।

अंत में sorted array होगा:

1, 5, 7, 8, 9, 10


Quick Sort की Time Complexity

CaseTime Complexity
Best CaseO(n log n)
Average CaseO(n log n)
Worst CaseO(n²)

Worst case तब आता है जब pivot हमेशा सबसे छोटा या सबसे बड़ा element बन जाता है।

Heap Sort क्या है?

Heap Sort एक प्रभावी sorting algorithm है जिसका उपयोग array या list के elements को sorted order (सही क्रम) में arrange करने के लिए किया जाता है।

यह algorithm Heap Data Structure पर आधारित होता है। 

Heap एक प्रकार का Binary Tree होता है जिसमें elements एक विशेष नियम के अनुसार व्यवस्थित होते हैं।

Heap Sort में पहले array को Max Heap में बदला जाता है, फिर सबसे बड़े element को निकालकर array के अंत में रखा जाता है।

इस प्रक्रिया को बार-बार दोहराया जाता है जब तक पूरा array sorted न हो जाए।

Heap Sort कैसे काम करता है?

Heap Sort में दो मुख्य काम किए जाते हैं:-

  1. पहले array को Max Heap में बदला जाता है।
  2. फिर सबसे बड़े element को निकालकर array के अंत में रखा जाता है और heap को फिर से adjust किया जाता है।

इस प्रक्रिया से धीरे-धीरे पूरा array sorted order में आ जाता है।

Heap Sort Algorithm के Steps

Step 1

सबसे पहले array के सभी elements को Max Heap में convert किया जाता है।

Max Heap में parent node हमेशा अपने children से बड़ा होता है।


Step 2

अब heap का सबसे बड़ा element (root element) array के last position पर रख दिया जाता है।


Step 3

अब heap का size एक कम कर दिया जाता है।


Step 4

Heap property को फिर से maintain करने के लिए heap को adjust (heapify) किया जाता है।


Step 5

फिर से सबसे बड़े element को निकालकर array के अंत में रखा जाता है।


Step 6

यह प्रक्रिया तब तक दोहराई जाती है जब तक पूरा array sorted order में न आ जाए।


Heap Sort का उदाहरण

मान लीजिए array है:

4, 10, 3, 5, 1

सबसे पहले इसे Max Heap में बदलेंगे।

Max Heap बनने के बाद सबसे बड़ा element 10 होगा।

फिर:

  • 10 को array के अंत में रखेंगे
  • heap को फिर से adjust करेंगे

यह प्रक्रिया बार-बार चलती रहती है और अंत में array बन जाता है:

1, 3, 4, 5, 10


Heap Sort की Time Complexity

CaseTime Complexity
Best CaseO(n log n)
Average CaseO(n log n)
Worst CaseO(n log n)

Heap Sort में सभी cases में time complexity O(n log n) रहती है।

निवेदन:- आपको Sorting in Hindi & Types of Sorting in Hindi पोस्ट कैसी लगी हमें comment के माध्यम से बताइये तथा इसे अपने दोस्तों के साथ share करें। धन्यवाद।

Leave a Comment