Comparative of Advanced Sorting Algorithms (Quick Sort, Heap Sort, Merge Sort, Intro Sort, Radix Sort) Based on Time and Memory Usage

Author(s):  
Marcellino Marcellino ◽  
Davin William Pratama ◽  
Steven Santoso Suntiarko ◽  
Kristien Margi
2020 ◽  
Vol 11 (2) ◽  
pp. 95-102
Author(s):  
I Nyoman Aditya Yudiswara ◽  
Abba Suganda

Processor technology currently tends to increase the number of cores more than increasing the clock speed. This development is very useful and becomes an opportunity to improve the performance of sequential algorithms that are only done by one core. This paper discusses the sorting algorithm that is executed in parallel by several logical CPUs or cores using the openMP library. This algorithm is named QDM Sort which is a combination of sequential quick sort algorithm and double merge algorithm. This study uses a data parallelism approach to design parallel algorithms from sequential algorithms. The data used in this study are the data that have not been sorted and also the data that has been sorted is integer type which is stored in advance in a file. The parameter measured to determine the performance of the QDM Sort algorithm is speedup. In a condition where a large amount of data is above 4096 and the number of threads in QDM Sort is the same as the number of logical CPUs, the QDM Sort algorithm has a better speedup compared to the other parallel sorting algorithms discussed in this study. For small amounts of data it is still better to use sequential sorting algorithm.


2020 ◽  
Vol 12 (2) ◽  
pp. 96-103
Author(s):  
Desi Anggreani ◽  
Aji Prasetya Wibawa ◽  
Purnawansyah Purnawansyah ◽  
Herman Herman

The most used algorithm is the sorting algorithm. There have been many popping sorting algorithms that can be used, in this study researchers took three sorting algorithms namely Insertion Sort, Selection Sort, and Merge Sort. As for this study will analyze the comparison of execution time and memory usage by considering the number of enter data of each algorithm used. The data used in this study is ukhuwah NET network bandwidth usage data connected in the Faculty of Computer Science in the form of double data types. After implementing and analyzing in terms of execution time merge sort algorithm has a faster execution time in sorting data with an average execution time value of 108.593777 ms on the 3000 data count. While in the same amount of data for the most execution time is the Selection Sort algorithm with a large execution time of 144.498144 ms, in terms of memory usage with the amount of data3000 Merge Sort Algorithm has the highest memory usage compared to the other two algorithms which is 21,444 MB while the other two algorithms have a succession of memory usage of 20,837 MB and 20,325MB.


2020 ◽  
Vol 12 (1) ◽  
pp. 52-58
Author(s):  
Fenina Adline Twince Tobing ◽  
James Ronald Tambunan

Abstrak— Perbandingan algoritma dibutuhkan untuk mengetahui tingkat efisiensi suatu algoritma. Penelitian ini membandingkan efisiensi dari dua strategi algoritma sort yang sudah ada yaitu brute force dan divide and conquer. Algoritma brute force yang akan diuji adalah bubble sort dan selection sort. Algoritma divide and conquer yang akan diuji adalah quick sort dan merge sort. Cara yang dilakuakn dalam penelitian ini adalah melakukan tes dengan data sebanyak 50 sampai 100000 untuk setiap algoritma. Tes dilakukan dengan menggunakan bahasa pemrograman JavaScript. Hasil dari penelitian ini adalah algoritma quick sort dengan strategi divide and conquer memiliki efisiensi yang baik  serta running time yang cepat dan algoritma bubble sort dengan strategi brute force memiliki efisiensi yang buruk serta running time yang lama. Kata Kunci – Efisiensi, algoritma, brute force, divide and conquer, bubble sort, selection sort, quick sort, merge sort


Petir ◽  
2021 ◽  
Vol 14 (2) ◽  
pp. 159-169
Author(s):  
Endang Sunandar

There are various kinds of data sorting methods that we know of which are the Bubble Sort, Selection Sort, Insertion Sort, Quick Sort, Shell Sort, Heap Sort, and Radix Sort methods. All of these methods have advantages and disadvantages of each, whose use is determined based on needs. Each method has a different algorithm, where different algorithms affect the execution time. One interesting algorithm to be implemented on 2 variant models of data sorting is the Bubble Sort algorithm, the reason is that this algorithm has a fairly long and detailed process flow to produce an ordered data sequence from a previously unordered data sequence. Two (2) data sorting variant models that will be implemented using the Bubble Sort algorithm are: Ascending data sorting variants moving from left to right, and Descending data sorting variants moving from left to right. And the device used in implementing the Bubble Sort algorithm is the Java programming language.


2018 ◽  
Vol 2 (2) ◽  
pp. 101-109
Author(s):  
Mina Hosseini-Rad ◽  
Majid Abdolrazzagh-Nezhad ◽  
Seyyed-Mohammad Javadi-Moghaddam

Over the recent decades, the nature of multi-core processors caused changing the serial programming model to parallel mode. There are several programming languages for the parallel multi-core processors and processors with different architectures that these languages have faced programmers to challenges to achieve higher performance. In addition, different scheduling methods in the programming languages for the multi-core processors have the significant impact on the efficiency of the programming languages. Therefore, this article addresses the investigation of the conventional scheduling techniques in the programming languages of multi-core processors which allows the researcher to choose more suitable programing languages by comparing efficiency than application. Several languages such as Cilk++، OpenMP، TBB and PThread were studied, and their scheduling efficiency has been investigated by running Quick-Sort and Merge-Sort algorithms as well.


2012 ◽  
Vol 433-440 ◽  
pp. 3900-3904
Author(s):  
Lai Lai Win Kyi ◽  
Nay Min Tun

Sorting appears the most attention among all computational tasks over the past years because sorted data is at the heart of many computations. Sorting is of additional importance to parallel computing because of its close relation to the task of routing data among processes, which is an essential part of many parallel algorithms. Many parallel sorting algorithms have been investigated for a variety of parallel computer architectures. In this paper, three parallel sorting algorithms have been implemented and compared in terms of their overall execution time. The algorithms implemented are the odd-even transposition sort, parallel merge sort and parallel shell sort. Cluster of Workstations or Windows Compute Cluster has been used to compare the algorithms implemented. The C# programming language is used to develop the sorting algorithms. The MPI library has been selected to establish the communication and synchronization between processors. The time complexity for each parallel sorting algorithm will also be mentioned and analyzed.


2015 ◽  
Vol 122 (21) ◽  
pp. 10-14
Author(s):  
Renu Renu ◽  
Manisha Manisha
Keyword(s):  

2019 ◽  
Vol 2 (2) ◽  
pp. 101-109
Author(s):  
Mina Hosseini-Rad ◽  
Majid Abdulrozzagh-Nezzad ◽  
Seyyed-Mohammad Javadi-Moghaddam

Over the recent decades, the nature of multi core processors caused changing the serial programming model to parallel mode. There are several programming languages for the parallel multi core processors and processors with different architectures that these languages have faced programmers to challenges to achieve higher performance. In additional, different scheduling methods in the programming languages for the multi core processors have significant impact on efficiency of the programming languages. Therefore, this article addresses the investigation of the conventional scheduling techniques in the programming languages of multi core processors which allows researcher to choose more suitable programing languages by comparing efficiency than application. Several languages such as Cilk++، OpenMP، TBB and PThread were studied and their scheduling efficiency has been investigated by running Quick-Sort and Merge-Sort algorithms as well


Complexity ◽  
2018 ◽  
Vol 2018 ◽  
pp. 1-19 ◽  
Author(s):  
Zbigniew Marszałek ◽  
Marcin Woźniak ◽  
Dawid Połap

The development in multicore architectures gives a new line of processors that can flexibly distribute tasks between their logical cores. These need flexible models of efficient algorithms, both fast and stable. A new line of efficient sorting algorithms can support these systems to efficiently use all available resources. Processes and calculations shall be flexibly distributed between cores to make the performance as high as possible. In this article we present a fully flexible sorting method designed for parallel processing. The idea we describe in this article is based on modified merge sort, which in parallel form is designed for multicore architectures. The novelty of this idea is in particular way of processing. We have developed a fully flexible method that can be implemented for a number of processors. The tasks are flexibly distributed between logical cores to increase the efficiency of sorting. The method preserves separation of concerns; therefore, each of the processors works separately without any cross actions and interruptions. The proposed method was described in theoretical way, examined in tests, and compared to other methods. The results confirm high efficiency and show that with each newly added processor sorting becomes faster and more efficient.


Author(s):  
Radoslav Mavrevski ◽  
Metodi Traykov ◽  
Iavn Trenchev

<p class="abstract"><span lang="EN-US">Today we live in a society of high technologies, advanced information and com-munication systems in every field, including education. So, in modern education, teachers make full use of the possibilities of modern Information and Communi-cation Technologies (ICT). In this case, the attitude of the teachers towards the use of computers, to achieve the educational goals, is very important. To have the technologies sustained and significant effect, students in secondary and higher schools need to understand how to use them. The goal of this article is to help of students in secondary and higher schools to acquire enough practical program-ming skills and to learn the sorting algorithms, i.e. the article considers basic sort-ing algorithms. We developed and describe here software with name “Visual sorting” that shows visual, the execution of the basic sorting algorithms: Bubble sort; Selection sort; Insertion sort; Merge sort. Also, our software provides inter-active tracking of the performance (step by step) of different sorting algorithms.</span></p>


Sign in / Sign up

Export Citation Format

Share Document