Merge sort एक divide-and-conquer, stable सॉर्ट है जो गारंटीकृत O(n log n) समय में चलता है। यह array को आधा में विभाजित करता है, प्रत्येक आधे को पुनरावर्ती रूप से सॉर्ट करता है, फिर दोनों सॉर्ट किए गए आधों को मर्ज करता है।
विचार
एक single element पहले से ही सॉर्ट किया गया है (base case)। दो सॉर्ट की गई lists को मर्ज करना linear है, और हम log n स्तरों का मर्ज करते हैं।
