Merge Sort ist also ein Divide-and-Conquer-Algorithmus. Während ich mir das obige Diagramm ansah, überlegte ich, ob es möglich wäre, im Grunde alle Teilungsschritte zu umgehen.
Wenn Sie beim Springen um zwei über das ursprüngliche Array iterieren, können Sie die Elemente am Index i und i + 1 abrufen und sie in ihre eigenen sortierten Arrays einfügen. Sobald Sie alle diese Sub-Arrays ([7,14], [3,12], [9,11] und [2,6], wie im Diagramm gezeigt) haben, können Sie einfach mit der normalen Zusammenführungsroutine fortfahren ein sortiertes Array.
Ist es weniger effizient, durch das Array zu iterieren und die erforderlichen Unterarrays sofort zu generieren, als die Divisionsschritte in ihrer Gesamtheit auszuführen?