This is the fifth in a series of videos about the merge sort. It describes two different versions of a recursive VB.NET implementation. The first version essentially takes the pseudocode described in previous videos and puts it into VB.NET syntax. The second version includes a considerable enhancement in terms of space and time usage; it does not actually split the original array and subsequent portions of it, rather it manipulates pointers to access sections of the original array and performs a merge in place.