Comparative Analysis of Comparison and Non Comparison based Sorting Algorithms (original) (raw)

A COMPARATIVE ANALYSIS OF SORTING ALGORITHMS WITH FOCUS ON MERGE SORT

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 programmable 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 merge 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 tri-merge is theoretically and practically true based on investigation data set. Tri-merge 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.

Comparison of Efficiency Data Sorting Algorithms Based on Execution Time

International Journal of Scientific Research in Computer Science, Engineering and Information Technology, 2023

In today's era, the development of information technology is increasingly rapid. This is because human life is currently very dependent on the needs of information technology. This can be proven by the number of human interactions with various gadgets, such as laptops, cellphones, computers, and so on. The development of information technology has made IT activists such as companies and programmers compete in making good applications. One of the most basic things that are mastered in making an application is making algorithms. Currently, there are many types of algorithms. One of them is the data sorting algorithm. In this study, we will try to examine 3 data sorting algorithms, namely Insertion Sort, Quick Sort, and Merge Sort. These three algorithms will be used to sort random data ranging from 1000 to 20,000 data. The three algorithms will be compared in terms of execution time. The results show that the Insertion Sort algorithm is a data sorting algorithm that has the fastest execution time compared to other algorithms, while the Merge Sort algorithm is the most time consuming algorithm compared to other algorithms.

An Analytical Comparison of Different Sorting Algorithms in Data Structure

2015

Sorting is considered as a very basic operation in computer science. Sorting is used as an intermediate step in many operations. Sorting refers to the process of arranging list of elements in a particular order either ascending or descending using a key value. There are a lot of sorting algorithms have been developed so far. This research paper presents the different types of sorting algorithms of data structure like Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Heap Sort and Quick Sort and also gives their performance analysis with respect to time complexity. These six algorithms are important and have been an area of focus for a long time but still the question remains the same of "which to use when?" which is the main reason to perform this research. Each algorithm solves the sorting problem in a different way. This research provides a detailed study of how all the six algorithms work and then compares them on the basis of various parameters apart from time c...

Sorting Algorithms – A Comparative Study

Sorting is nothing but alphabetizing, categorizing, arranging or putting items in an ordered sequence. It is a key fundamental operation in the field of computer science. It is of extreme importance because it adds usefulness to data. In this papers, we have compared five important sorting algorithms (Bubble, Quick, Selection, Insertion and Merge). We have developed a program in C# and experimented with the input values 1-150, 1-300 and 1-950. The performance and efficiency of these algorithms in terms of CPU time consumption has been recorded and presented in tabular and graphical form.

Comparative Analysis & Performance of Different Sorting Algorithm in Data Structure

— An algorithm is precise specification of a sequence of instruction to be carried out in order to solve a given problem. Sorting is considered as a fundamental operation in computer science as it is used as an intermediate step in many operations. Sorting refers to the process of arranging list of elements in a particular order. The elements are arranged in increasing or decreasing order of their key values. This research paper presents the different types of sorting algorithms of data structure like Bubble Sort, Selection Sort, Insertion Sort, Merge Sort and Quick Sort and also gives their performance analysis with respect to time complexity. These five algorithms are important and have been an area of focus for a long time but still the question remains the same of " which to use when? " which is the main reason to perform this research. Each algorithm solves the sorting problem in a different way. This research provides a detailed study of how all the five algorithms work and then compares them on the basis of various parameters apart from time complexity to reach our conclusion. I. INTRODUCTION Algorithm is an unambiguous, step-by-step procedure for solving a problem, which is guaranteed to terminate after a finite number of steps. In other words algorithm is logical representation of the instructions which should be executed to perform meaningful task. For a given problem, there are generally many different algorithms for solving it. Some algorithms are more efficient than others, in that less time or memory is required to execute them. The analysis of algorithms studies time and memory requirements of algorithms and the way those requirements depend on the number of items being processed. Sorting is generally understood to be the process of rearranging a given set of objects in a specific order and therefore, the analysis and design of useful sorting algorithms has remained one of the most important research areas in the field. Despite the fact that, several new sorting algorithms being introduced, the large number of programmers in the field depends on one of the comparison-based sorting algorithms: Bubble, Insertion, Selection sort etc. Hence sorting is an almost universally performed and hence, considered as a fundamental activity. The usefulness and significance of sorting is depicted from the day to day application of sorting in real-life objects. For instance, objects are sorted in: Telephone directories, income tax files, tables of contents, libraries, dictionaries. The methods of sorting can be divided into two categories: INTERNAL SORTING: If all the data that is to be sorted can be adjusted at a time in main memory, then internal sorting methods are used. EXTERNAL SORTING: When the data to be sorted can " t be accommodated in the memory at the time and some has to be kept in auxiliary memory (hard disk, floppy, tape etc) , then external sorting method are used. The complexity of a sorting algorithm measures the running time of function in which " n " numbers of items are sorted. The choice of which sorting method is suitable for a problem depends on various efficiency considerations for different problem. Three most important of these considerations are:  The length of time spent by programmer in coding a particular sorting program.  Amount of machine time necessary for running the program.  The amount of memory necessary for running program.  Stability-does the sort preserve the order of keys with equal values.

An Evaluation of the Critical Factors Affecting the Efficiency of Some Sorting Techniques

International Journal of Modern Education and Computer Science, 2013

Sorting allows information or data to be put into a meaningful order. As efficiency is a major concern of computing, data are sorted in order to gain the efficiency in retrieving or searching tasks. The factors affecting the efficiency of shell, Heap, Bubble, Quick and Merge sorting techniques in terms of running time, memory usage and the number of exchanges were investigated. Experiment was conducted for the decision variables generated from algorithms implemented in Java programming and factor analysis by principal components of the obtained experimental data was carried out in order to estimate the contribution of each factor to the success of the sorting algorithms. Further statistical analysis was carried out to generate eigenvalue of the extracted factor and hence, a system of linear equations which was used to estimate the assessment of each factor of the sorting techniques was proposed. The study revealed that the main factor affecting these sorting techniques was time taken to sort. It contributed 97.842%, 97.693%, 89.351%, 98.336% and 90.480% for Bubble sort, Heap sort, Merge sort, Quick sort and Shell sort respectively. The number of swap came second contributing 1.587% for Bubble sort, 2.305% for Heap sort, 10.63% for Merge sort, 1.643% for Quick sort and 9.514% for Shell sort. The memory used was the least of the factors contributing negligible percentage for the five sorting techniques. It contributed 0.571% for Bubble sort, 0.002% for Heap sort, 0.011% for Merge sort, 0.021% for Quick sort and 0.006% for Shell sort.

Contrastive Analysis of Bubble Merge Sort Proposing Hybrid Approach

—A sorting algorithm is one that puts elements of a list in a certain order. It makes easy searching and locating the information. The most-used orders are numerical order and lexicographical order. An efficient sorting algorithm is that takes less time and space complexity. In this paper I make contrastive analysis of bubble sort and merge sort and tried to show why required some new approach to get best sorting results. In this regard we proposed a hybrid approach that will take minimum number of comparisons, with less time and space complexity to sort. Divide and conquer (merge sort) with bi-directional bubble sort approach is used and an example data is sorted with such hybrid approach.

A Comparative Analysis of Quick , Merge and Insertion Sort Algorithms using Three Programming Languages I : Execution Time Analysis

2019

In recent years, technological advancement and continuous improvement in computing devices has led to more study in the area of Green Computing with much emphasis on processing time and energy consumption. The study has also been precipitated by wide coverage of Internet of things (IoT), as well as increased global acceptability of mobile and wireless devices (smart device) which are smaller, smarter and ubiquitous. The aim of this paper is to carry out a comparative analysis of three sorting algorithms, namely Quick. Merge, Insertion sort, implemented in three programming languages (C, Java, Python) using execution time. The comparison of the Execution time of these three sorting algorithms was based on programming Language, data size and algorithm implementation style (Iterative and Recursive). Time stamp was used to capture the execution time of the sorting algorithm. It was noted that the data size, programming language used and algorithm implementation styles affect the executi...

Comparative Analysis between Selection Sort and Merge Sort Algorithms

Sorting and merging are two problems that commonly arise in Computer Science especially in data processing tasks. To solve these problems, several algorithms have been developed. Similarly, existing merge and sorting algorithms have been improved to provide more efficient and accurate results. In this paper, selection and merging algorithms were developed on an octa-core processing machine using System.nanoTime methods in Java in order to compare their running times. The results obtained show that Merge Sort performs far better than selection sort with careful implementations by taking advantage of multiple processing cores in the test machine and some concurrency utility in Java. It was concluded that implementing algorithms using a machine with multiple numbers of cores in their Central Processing Unit (CPU) will result in a significant improvement in the performance of both algorithms.

Analysis and Performance Measurement of Sorting Algorithms

Proceedings of National Conference on Convergent Innovative Technologies & Management (CITAM-2011) on 2 nd & 3 rd December 2011 at Cambridge Institute of Technology,Bangalore India, 2011

Any number of practical applications in computing requires things to be in order. The performance of any computation depends upon the performance of sorting algorithms. Like all complicated problems, there are many solutions that can achieve the same results. One sort algorithm can do sorting of data faster than another. A lot of sorting algorithms has been developed to enhance the performance in terms of computational complexity, memory and other factors. This paper chooses three of the sorting algorithms: the heap sort, merge sort, quick sort and measures their performance for the realization of time complexity with respect to the theories which are represented normally using asymptotic notation.