advanced sorting algorithm description the algorithm starts by splitting the original list of values in the middle to create two sublistseach containing approximately the same number of values consider the list of integer values at the top of figure this list is first split following the element containing value these two sublists are then split in similar fashion to create four sublists and those four are split to create eight sublists figure recursively splitting list until each element is contained within its own list after the list has been fully subdivided into individual subliststhe sublists are then merged back togethertwo at timeto create new sorted list these sorted lists are themselves merged to create larger and larger lists until single sorted list has been constructed during the merging phaseeach pair of sorted sublists are merged to create new sorted list containing all of the elements from both sublists this process is illustrated in figure basic implementation given basic description of the merge sort algorithm from an abstract viewwe now turn our attention to the implementation details there are two major steps in the merge sort algorithmdividing the list of values into smaller and smaller sublists and merging the sublists back together to create sorted list the use of recursion provides simple solution to this problem the list can be subdivided by each recursive call and then merged back together as the recursion unwinds listing illustrates simple recursive function for use with python list if the supplied list contains single itemit is by definition sorted and the list is simply returnedwhich is the base case of the recursive definition if the list contains multiple itemsit has to be split to create two sublists of approximately