Merge sort ਇੱਕ divide-and-conquer, stable sort ਹੈ ਜੋ ਗ੍ਰਹਣਯੋਗ O(n log n) ਸਮੇਂ ਵਿੱਚ ਚਲਦਾ ਹੈ। ਇਹ array ਨੂੰ ਅੱਧੀ ਵਿੱਚ ਵਿਭਾਜਿਤ ਕਰਦਾ ਹੈ, ਹਰੇਕ ਅੱਧੇ ਨੂੰ recursively sort ਕਰਦਾ ਹੈ, ਫਿਰ ਦੋ sorted ਅੱਧਿਆਂ ਨੂੰ merge ਕਰਦਾ ਹੈ।
ਵਿਚਾਰ
ਇੱਕ ਸਿੰਗਲ element ਪਹਿਲਾਂ ਹੀ sorted ਹੈ (base case)। ਦੋ sorted lists ਨੂੰ merge ਕਰਨਾ linear ਹੈ, ਅਤੇ ਅਸੀਂ log n ਪੱਧਰਾਂ ਦਾ merging ਕਰਦੇ ਹਾਂ।
