If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
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 है जो दो 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 है।
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 करो।
●●●
चलिए अब हम देखेंगे कैसे हम 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 हो जायगा।
Function Definition : mergeSortedArrays() function दो arrays ($arr1 और $arr2) को accept करता है, जो पहले से sorted होते हैं।
Pointers : दो pointers $i और $j को 0 से initialize किया गया है, जो पहले elements को point करते हैं।
While Loop : जब तक दोनो arrays के pointers end पर नहीं पंहुचते , हम उनके elements को compare करते हैं और जो smaller होता है, उससे result array में add करते हैं।
Remaining Elements : जब एक array completely processed हो जाये, दुसरे array के बाकी elements को result में add करते हैं।
Result : Finally, merged array को return किया जाता है और print किया जाता है।
●●●
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 : O(n+m)O(n+m), जहाँ nn और mm दोनो arrays कि lengths हैं।
Space Complexity : O(n+m)O(n+m), क्योंकि merged result को store करना पड़ता है।
●●●
दो sorted arrays को merge करना एक basic लेकिन important concept है, जो काफी algorithms में use होता है, especially Merge Sort में। अगर आप PHP में arrays को efficiently merge कर पाते हैं, तो आप अपने algorithmic skills को काफी enhance कर सकते हैं।
अगर आपको कोई भी confusion हो, या आप और examples चाहते हो, तो जरूर बताएं !
Happy coding !
Loading ...