Merge Sorted Array in PHP

Other Blogs

Blogs ❯❯ DSA

Image could not load

Merge Sorted Array by Krishna Pandey on Unsplash

Programming कि दुनिया में, एक बहुत common task है दो sorted arrays को merge करना, मतलब उन्हें एक sorted array में combine करना। यह task काफी अहम है, क्योंकि यह algorithms में काफी use होता है, जैसे Merge Sort, जो एक famous divide-and-conquer algorithm है।

इस blog में, हम सीखेंगे कैसे हम दो sorted arrays को merge कर सकते हैं। हम merge करने का algorithm भी समझेंगे और देखेंगे कि यह real-world applications में कैसे use होता है।

तो चलिए, शुरू करते हैं !

Merge Sorted Array Algorithm क्या है?

Merge Sorted Array एक ऐसा algorithm है जो दो sorted arrays को merge करके एक sorted array बनाता है। यह Merge Sort algorithm का एक important part है।

इसका main idea यह है कि हम दोनो arrays के smallest elements को compare करके result array में डालते हैं, ताकि final array sorted रहे।

यह क्यों Important है?

  • Time Complexity : दो sorted arrays को merge करना O(n+m)O(n+m) time में होता है, जहाँ nn और mm दोनो arrays के lengths हैं।

  • Efficient : यह पूरे array को दुबारा से sort करने कि need को हटा देता है, इसलिए काफी efficient है।

Steps To Merge Sorted Array

  • Initialization : दो pointers बनाये जाते हैं, एक हर array के लिए. दोनो arrays के पहले elements से start करो।

  • Elements Compare करना : हर step में दोनो arrays के current elements को compare करो। 

  • Merge करना : जो element smaller होता है, उससे result array में add करो और उस array के pointer को आगे बढ़ो। 

  • Remaining Elements Handle करना : जब एक array complete हो जाये, दुसरे array के बाकी elements को result में add करो।

Example of merging two sorted array

चलिए अब हम देखेंगे कैसे हम PHP में दो sorted arrays को merge कर सकते हैं।

// Do sorted arrays ko merge karne wali function function mergeSortedArrays($arr1, $arr2) { $result = []; $i = 0; // Array 1 ka pointer $j = 0; // Array 2 ka pointer // Dono arrays ke elements ko compare karke result mein daalo while ($i < count($arr1) && $j < count($arr2)) { if ($arr1[$i] < $arr2[$j]) { $result[] = $arr1[$i]; $i++; } else { $result[] = $arr2[$j]; $j++; } } // Agar array 1 ke baaki elements hain toh unhe result mein daalo while ($i < count($arr1)) { $result[] = $arr1[$i]; $i++; } // Agar array 2 ke baaki elements hain toh unhe result mein daalo while ($j < count($arr2)) { $result[] = $arr2[$j]; $j++; } return $result; } // Function ko test karo $array1 = [1, 3, 5, 7]; $array2 = [2, 4, 6, 8]; $mergedArray = mergeSortedArrays($array1, $array2); // Merged array print karo print_r($mergedArray);

यहां PHP में लिया गया है, हालाँकि बाकी language में अगर आप practice करेंगे तो concept same ही रहेगा ,बस syntax change हो जायगा।

Explanation
  1. Function Definition : mergeSortedArrays() function दो arrays ($arr1 और $arr2) को accept करता है, जो पहले से sorted होते हैं।

  2. Pointers : दो pointers $i और $j को 0 से initialize किया गया है, जो पहले elements को point करते हैं। 

  3. While Loop : जब तक दोनो arrays के pointers end पर नहीं पंहुचते , हम उनके elements को compare करते हैं और जो smaller होता है, उससे result array में add करते हैं। 

  4. Remaining Elements : जब एक array completely processed हो जाये, दुसरे array के बाकी elements को result में add करते हैं। 

  5. Result : Finally, merged array को return किया जाता है और print किया जाता है।

Merge Sorted Array Algorithm कहाँ Use होती है?

Merge Sorted Array algorithm काफी जगह use होता है: -

  • Merge Sort Algorithm : सबसे famous use case Merge Sort algorithm है, Merge Sort एक divide-and-conquer algorithm है जो array को छोटे parts में तोड़ता है और फिर उन्हें merge करके sorted order में लाता है।

  • Database Merging : अलग-अलग database tables या files के sorted datasets को merge करना, जैसे data warehousing में होता है। 

  • External Sorting : अगर data बहुत ज़्यादा हो और memory में fit न हो, तो external storage से sorted chunks को merge करते हैं, यह common use case है। 

  • K-way Merging : अगर हमें एक से ज़्यादा sorted arrays merge करने हो, तो यह algorithm काफी helpful होता है।

Time Complexity of the Merge Sorted Array

  • Time Complexity : O(n+m)O(n+m), जहाँ nn और mm दोनो arrays कि lengths हैं।

  • Space Complexity : O(n+m)O(n+m), क्योंकि merged result को store करना पड़ता है।

Conclusion

दो sorted arrays को merge करना एक basic लेकिन important concept है, जो काफी algorithms में use होता है, especially Merge Sort में। अगर आप PHP में arrays को efficiently merge कर पाते हैं, तो आप अपने algorithmic skills को काफी enhance कर सकते हैं।

अगर आपको कोई भी confusion हो, या आप और examples चाहते हो, तो जरूर बताएं !

Happy coding !

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 5.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook

Your Thought ?

Please wait . . .

    Recent Blogs

    Loading ...

    0 Comment(s) found !