A Comparative Analysis of Sorting Algorithms with focus on Merge Sort
Abstract
In our thesis work, we try to find out the efficiency of several sorting algorithms and
generate a comparative report according to performance, based on experimental data size
and data order for all algorithm. To do this we have researched, analyzed about 9 different
types of well-known sorting algorithms. We convert the algorithms to programable code,
compile and run with different set of data. We keep the sorting algorithm’s description as
it is. We give focus on, how the algorithms work, considering their total operation count
(assignment count, comparison count) and complexity based on our same data set for all
algorithm. We write programming code for each sorting algorithm in C programming
language. In our investigation, we have also worked with big and small data for different
cases (ordered, preordered, random, disordered) and put their result in different tables. We
show the increasing ratio to compare the result. we also show the data in graphical chart
for view comparative report in same window. We mark their efficiency with point and
ranked them. At last we discussed their result of efficiency in a single table.
We modify the merge sort and try to make an improved tri-merge sorting algorithm that is
more efficient than marge sort. Theoretically if we divide and conquer with higher number
its result is better, some paper exists on it, but to manage the algorithm, there cost lot of
operations count. Like, if we consider quadratic divide-conquer, its manage complexly is
huge than binary divide-conquer that why we generally use binary merge. We found trimerge is theoretically and practically true based on investigation data set. Tri-marge take
some more compare operation for manage and sort when data remain 1 or 2 at last stage,
whereas binary merge don’t need such compare. But for big data size tri-merge gain lot of
operation count that give significant result that declare tri-merge is more efficient than
merge sort algorithm. We also experiment with penta-merge algorithm which give more
better result but algorithm and implementation is too complex.
We shall try to define the tri-merge algorithm so that it can be used to implement in any
programming language. It will help students, researchers to use the algorithm, as like we
got the various algorithm structure over the internet.
Collections
- M.Sc Thesis/Project [145]