Abstract
To
manage and organize large data is imperative in order to formulate the data
analysis and data processing efficiency. Thus, to handle large data becomes
highly enviable, whilst, it is premised that the sorting techniques eliminate
ambiguities with less effort. Therefore, this study compare sorting algorithms on integer and
character arrays of a set of sorting techniques to
observe which technique to provide better efficiency in terms of sorting data.
Therefore, two types of sorting techniques of static data structure, namely:
Quick and Selection sort using the JAVA programming language have been used.
Each sorting technique was tested on specific set of dataset. To validate the
performance of sorting techniques, three performance metrics which are time
complexity, execution time (run time) and size of dataset were used, where
experimental results illustrate that Quick sort is more efficiency than
selection sort based on run time and size of data using array, whereas the
analysis shows that both sorting algorithms analyze have
upper bound running time of O
(n2).
List of Figures
Figures Page
Fig. 3.1: The Three Phases of the Study - - - - - - 15
Fig. 3.2: Selection
Sort Pictorial Presentation - - - - - 17
Fig. 3.3: Quick Sort
Pictorial Presentation
- - - - - - 18
Fig 4.1: Array element before sorting - - - - - - 21
Fig 4.2: Array element after sorting - - - - - - - 21
Fig 4.3: Analysis of Algorithm - - - - - - - 22
List of Tables
Tables Page
Table 4.1:
Software Development Environment - - - - - 19
Table
4.2: Complexity Comparison - - - - - - - 24
Table of Contents
Contents
Page
Title
page - - - - - - - - -
Certification - - - - - - - - - ii
Dedication - - - - - - - - - iii
Acknowledgement - - - - - - - - iv
List
of Figures - - - - - - - - - - v
List
of Tables- - - - - - - - - - vi
Table
of contents - - - - - - - - vii
Abstract
- - - - - - - - - - - ix
CHAPTER ONE
INTRODUCTION
1.1
Introduction
and Background of the Study - - - - - - 1
1.2
Statement of the
Problem - - - - - - - 3
1.3 Objectives
of the Study - - - - - - - 3
1.4 Scope of the Study - - - - - - - - 3
1.5 Significance of the Study - - - - - - - 3
1.6
Operational Definition of Terms - - - - - - 3
CHAPTER TWO
LITERATURE
REVIEW
2.1 Introduction - - - - - - - - - 5
2.2 Review of Related Work on Sorting
Algorithm - - - - 5
2.3 Applications of Sorting Techniques - - - - - - 7
2.4 Applications
of Array Data Structures - - - - - 8
2.5 Classification of Sorting Algorithms - - - - - - 9
2.6 Sorting
- - - - - - - - - 11
CHAPTER THREE
METHODOLOGY
3.1 Introduction - - - - - - - - - 15
3.2 Proposed Framework - - - - - - - 15
3.3 Selection Sort - - - - - - - - - 16
3.4 Quick Sort - - - - - - - - - 17
CHAPTER FOUR
RESULTS AND DISCUSSION
4.1 Introduction - - - - - - - - - 19
4.2 Choice of Programming
Language - - - - - - 19
4.3 Implementation - - - - - - - - 19
4.4 Performance Analysis - - - - - - - 22
CHAPTER FIVE
SUMMARY, CONCLUSION
AND RECOMMENDATIONS
a.
Summary - - - - - - - - - 25
b.
Conclusion - - - - - - - - - 25
References - - - - - - - - - 26
Appendix (Source Code) - - - - - - - - 28
CHAPTER ONE
INTRODUCTION
1.1
Introduction and Background to the Study
Data
is transforming the way companies operate today. From business decision-making
to day-to-day operations, everything is dependent on data. None of this is
possible without transforming raw data into useful information, especially when
a large amount of data and disparate sources are involved. Computer performance
operation on data changes or alters data in order to make it more readable and
organized. For example, you can arrange data alphabetically to expedite the
process of finding useful information (Naeem, 2020).
Arranging or sorting of items is not
an overnight development it’s footprints can be traced back in 7th century BCE. Wahab and Issa (2009),
state that King of Assyria used the idea of arranging clay tablets for Royal
Library sorted according to their shape. Based on the development of science and technology,
people usually use computer technology in the process of comparing different
things at this stage, especially in sorting problems, such as comprehensive
analysis of product indicators, ranking test results, etc. The sorting problems
are increasingly inseparable from the use of data and information processing.
For data processing, sorting is a basic function. At the same time, when a
computer processes a certain problem, it usually takes at least 35% of the time
to sort the data. Regarding this phenomenon, for the purpose of improving the
working efficiency of the computer, the more effective method is to study the
sorting algorithm and compare to use a more suitable sorting algorithm (Zhi-Gang, 2020). Evolutionary study of
sorting algorithm or sorting problem is foundation of futuristic knowledge base
for sorting problem domain Kadam. Since sorting activity is known as
pre-requisition or supportive activity (searching, matching etc.) for the
various other computer related activities (Knuth, 2006). This activity
(sorting) has a distinct place in the computing and programming domain. The
sorting algorithm is used to rearrange the items of a given list in any order.
Though dozens of sorting algorithm have been developed, no single sorting
technique is best suited for all applications. Great research went into this
category of algorithm because of its importance. These types of algorithm are
very much used in many computer algorithms. For instance, searching an element,
database algorithm and many more.
Sorting
algorithm can be classified into two categories, internal sorting and external
sorting. In internal sorting all items to be sorted are kept in the main
memory. External sorting, on the other hand, deals with a large number of
items, hence have resided in auxiliary storage devices such as tape or disk
(Dutta, 2013).
Sorting is one of the
basic functions of computer processes which has been widely used on database
systems. A sorting algorithm arranges data elements in order of either
ascending or descending order. The algorithm can also be helpful to group the
data on the basis of a certain requirement such as postal code or in the classification
of data into certain age groups. Thus, sorting rearranges items in a requested
list dedicated in order to produce solution for a desired result. A number of
sorting algorithms have been developed such as Quick sort, Merge sort,
Insertion sort and Selection sort (Andres et al., 2010). It is worth
noting that when various sorting algorithms are being compared, there are a few
parameters that must be taken into consideration, such as complexity, and
execution time. The complexity is determined by the time taken for executing
the algorithm (Goodrich, Tamassia and Mount, 2007). In general, the time
complexity of an algorithm is generally written in the form of Big O(n)
notation, where O represents the complexity of the algorithm and the value n
represents the number of elementary operations performed by the algorithm
(Jadoon et al., 2011). Hence, this study investigates the efficiency of
sorting techniques, namely selection sort and quick sort and their behavior on
both string and integer arrays. Thus, this study was comparing the sorting
techniques according to their time complexity and space complexity.
1.2 Statement
of the Problem
People find it difficult to know which
algorithm is appropriate for their set of unsorted data. Imagined trying to
find an item in a list without sorting it first, therefore every search becomes
a time-consuming. Thus, in this study, we are going to analyze two sorting
algorithms namely: Selection sort and Quick sort algorithms thereby comparing which
of the algorithm is more suitable to sort text and which algorithm should be
used while sorting numbers.
1.3
Objectives
of the Study
The objectives of this project are to:
i.
develop an algorithm
for both selection sort and quick sort algorithms.
ii.
implement the
algorithms using Java programming language.
iii.
test the algorithms on
specific set of datum.
iv.
determine the time and
space complexity of the algorithms
v.
determine the most
efficient algorithm on string and integer arrays.
1.4 Scope of the Study
The
scope of this study is limited to the two sorting algorithms that is, selection
and quick sort algorithms and we simulate the algorithms using Java programming
language, and the data to be tested on string and integer arrays.
1.5 Significance of the Study
The
significance of the study will help in determining the most efficient and
appropriate sorting algorithm for a particular set of data type, that is to
show the most efficient sorting algorithm while sorting text or numbers.
1.6
Operational
Definitions of Terms
Algorithm: An algorithm is a sequence of
instruction of or a set of rules that are followed to complete a task.
Sorting:
Sorting refers to the operation of arranging data in some given sequence
(Ascending or Descending).
Efficiency:
Efficiency means the optimum use of all resources on a computer.
Time
complexity: Time complexity of an algorithm
specifies the amount of time required by the algorithm to run.
Space
complexity: Space complexity of an algorithm
is the amount of memory used by the algorithm to execute and produce the
result.
Buyers has the right to create
dispute within seven (7) days of purchase for 100% refund request when
you experience issue with the file received.
Dispute can only be created when
you receive a corrupt file, a wrong file or irregularities in the table of
contents and content of the file you received.
ProjectShelve.com shall either
provide the appropriate file within 48hrs or
send refund excluding your bank transaction charges. Term and
Conditions are applied.
Buyers are expected to confirm
that the material you are paying for is available on our website
ProjectShelve.com and you have selected the right material, you have also gone
through the preliminary pages and it interests you before payment. DO NOT MAKE
BANK PAYMENT IF YOUR TOPIC IS NOT ON THE WEBSITE.
In case of payment for a
material not available on ProjectShelve.com, the management of
ProjectShelve.com has the right to keep your money until you send a topic that
is available on our website within 48 hours.
You cannot change topic after
receiving material of the topic you ordered and paid for.
Login To Comment