Speaking about sorting algorithms, one should always remember: there is more than one approach. Last time we talked about Insertion Sort and worked with one unsorted array. This time we’re going to try a different approach and more complicated pattern — Merge Sort. Our starter pack is two sorted arrays, our task is to combine them into one sorted array.

Speaking about sorting algorithms, one should always remember: there is more than one approach. Last time we talked about Insertion Sort and worked with one unsorted array. This time we’re going to try a different approach and more complicated pattern — **Merge Sort**. Our starter pack is two sorted arrays, our task is to combine them into one sorted array.

Let’s crush it!

Actually, our approach is not that different from what we did last time with Insertion Sort. Our first step is to find a minimum integer and remove it from the array but this time we’re checking two arrays instead of one.

This particular concept is identified as one of the most important concepts in software engineering, and that became a primary checkpoint for most of the top-level companies.

Merge sort is one of the efficient sorting algorithm that applies the principle or uses divide and conquer pattern.

Understanding concepts such as algorithmic complexity and proper use of data structures will enable you to write more optimal code. I will list a few tools you will have under your tool-belt after taking a typical algorithms course.

Data Structures like arrays, stack, linked list etc is something you must have heard of but why algorithms and data structures like these are important?

Arrays, Linked Lists, Stacks, Queues and Hash Tables. Working with any kind of algorithm starts with learning a set of data structures associated with it.