A study of the effects of different contextual variables on sorting algorithms
2020 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesis
Abstract [en]
Background: Computers use sorting algorithms to prepare data for search or insert operations, these operations can be a bottleneck for performance.
Objectives: To evaluate sorting algorithms performances when existing in different implementation environments like different languages, sorting in different data types and in different sizes.
Methods: By performing an experiment with Java, C++, Python and Javascript on three different sizes and three different data types performance of sorting algorithms will be evaluated. The sorting algorithms used in this study are Insertion sort, Selection sort, Quick sort and Merge sort. They were all tested on each size on each language three times.
Results: In the end 432 tests were performed and the results found that Java had best execution time on all four algorithms with quick sort as the best algorithm. The best data type could not be pinpointed down since they acted differently on different algorithms. Quicksort was determined to be the fastest algorithm in the literature review which focused fastest algorithm
Conclusions: Together with the results of the experiment and literature review quicksort is the fastest sorting algorithm. The best performing implementation language was Java. For data types one type could not be determined the best only the worse could be decided, floats performed the worse of all three types.
Place, publisher, year, edition, pages
2020. , p. 41
Keywords [en]
Sorting algorithms, Performance, Implementation languages, Data types
Keywords [sv]
Sorterings algorithmer, Prestandard, Programmeringsspråk, Data typer
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-20528OAI: oai:DiVA.org:bth-20528DiVA, id: diva2:1474672
Subject / course
PA1445 Kandidatkurs i Programvaruteknik
Educational program
PAGPT Software Engineering
Supervisors
Examiners
2020-10-092020-10-092020-10-12Bibliographically approved