A COMPARATIVE ANALYSIS OF SORTING ALGORITHMS ON INTEGER AND CHARACTER ARRAYS

  • 0 Review(s)

Product Category: Projects

Product Code: 00007476

No of Pages: 42

No of Chapters: 5

File Format: Microsoft Word

Price :

$12

 

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.

 


Click “DOWNLOAD NOW” below to get the complete Projects

FOR QUICK HELP CHAT WITH US NOW!

+(234) 0814 780 1594

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.

Ratings & Reviews

0.0

No Review Found.


To Review


To Comment