+234 8146561114 (MTN) or
+2347015391124 (AIRTEL)

DESIGN AND IMPLIMENTATION OF RESOURCE SORTING ALGORITHMS FOR RESEARCH LIBRARY OPERATION

 

ABSTRACT

One of the basic problems in computer science is to arrange the items in lexicographic order. Sorting is one of the major research topic. There are number of sorting algorithms.
This paper presents the implementation and detailed analysis of library sort. Library sort is also called gapped insertion sort. It is a sorting algorithm that uses insertion sort with gaps. Time taken by insertion sort is O (n2) because each insertion takes O (n) time; and library sort has insertion time O (log n) with high probability. Total running time of library sort is O (n log n) time with high probability. Library sort has better run time than insertion sort, but the library sort also has some issues. The first issue is the value of gap which is denoted by ‘ε’, the range of gap is given, but it is yet to be implemented to check that given range is satisfying the concept of library sort algorithm. The second issue is re-balancing which accounts the cost and time of library sort algorithm. The third issue is that, only a theoretical concept of library sort is given, but the concept is not implemented. So, to overcome these issues of library sort, in this paper, we have implemented the concept of library sort and done the detailed experimental analysis of library sort algorithm, and measure the performance of library sort algorithm on a dataset.

TABLE OF CONTENTS

 TITLE PAGE

APPROVAL PAGE
DEDICATION
ACKNOWELDGEMENT
ABSTRACT
TABLE OF CONTENT

CHAPTER ONE

    • INTRODUCTION
    • SIGNIFICANCE OF THE STUDY
    • PROPERTIES OF SORTING ALGORITHMS
    • CLASSIFICATION OF SORTING ALGORITHMS USED IN COMPUTER SCIENCE
    • AIMS OF THE ALGORITHMS

CHAPTER TWO

2.0      LITERATURE REVIEW
2.1      REVIEW OF THE STUDY
2.2     OVERVIEW OF THE STUDY
2.3     HISTORICAL BACKGROUND OF THE STUDY
2.4     CLASSIFICATION SORTING ALGORITHMS
2.5      POPULAR SORTING ALGORITHMS
2.6     MEMORY USAGE PATTERNS AND INDEX SORTING

CHAPTER THREE

3.0      METHODOLOGY

3.1     LIBRARY SORT ALGORITHM
3.2    EXECUTION TIME TESTING OF LIBRARY SORT ON A DATASET
3.3    EXISTING BUBBLE SORT ALGORITHM
3.4    PROPOSED OPTIMIZED BUBBLE SORT ALGORITHM
3.5   DATA FLOW REPRESENTATION
3.6   IMPLEMENTATION

 

CHAPTER ONE
1.0                                                        INTRODUCTION
In computer science, sorting algorithm [2] is an algorithm that sorts the list of items in a certain order;
Insertion sort iterates, takes one input element with each repetition, and put it into the sorted output list. Repeat the process until no input elements remains unprocessed. Insertion sort [10] is less efficient on large number of items as it takes O (n2) time in worst case, and the best case of insertion sorting occurs when data is in sorted manner and it is O (n) in best case. Insertion sort is an adaptive [3] sorting algorithm; it is also a stable sorting algorithm [4].
Michael A. Bender proposed the library sort algorithm or gapped insertion sort [1]. Library sort is a sorting algorithm that comes by an insertion sort but there is a space after each element in the array to accelerate subsequent insertions. Library sort is an adaptive sorting and also a stable sorting algorithm [9]. If we leave more space, the fewer elements we move on insertions. The author achieves the O (log n) insertions with high probability using the evenly distributed gap, and the algorithm runs O (n log n) with high probability. O (n log n) is better than O (n2). But the library sort also has some issues. The first issue is the value of gap, range of gap is given, but it is yet to be implemented after implementation, we can only decide that given range is satisfying the concept of library sort. The second issue is re-balancing, re-balancing has done after 2i elements in library sort, but it also accounts cost and time of library sort algorithm. The third issue is that only a theoretical concept of library sort is given by Bender et al but he has not implemented it. So, in this paper to overcome these issues of library sort, we have implemented the concept, done the detailed experimental analysis and we measure the performance on a dataset. The application of leaving gaps for insertions in a data structure is used by Itai, Konheim, and
Rodeh [8]. This idea has found recent application in external memory and cache-oblivious algorithms in the packed memory structure of Bender, Demaine and Farach-Colton [1] and later used in [6, 7]. The remainder of this paper is organized as follows. The detail of library sort algorithm is given in section 2 and the time complexity based testing using the dataset is done in section 3. The space complexity based testing on a dataset is done in section 4 [13]. The re-balancing based testing is done in section 5. We analysis the performance of library sort in section 6 and present the conclusion and future work with a few comments in section 7 and 8.

1.1                                           SIGNIFICANCE OF THE STUDY
Sorting arranges data in a particular format. Sorting algorithm specifies the way to arrange data in a particular order. Most common orders are in numerical or lexicographical order. The importance of sorting lies in the fact that data searching can be optimized to a very high level, if data is stored in a sorted manner. Sorting is also used to represent data in more readable formats. Following are some of the examples of sorting in real-life scenarios −

  • Telephone Directory − The telephone directory stores the telephone numbers of people sorted by their names, so that the names can be searched easily.
  • Dictionary − The dictionary stores words in an alphabetical order so that searching of any word becomes easy.

1.2                                 PROPERTIES OF SORTING ALGORITHMS
All sorting algorithms share the goal of outputting a sorted list, but the way that each algorithm goes about this task can vary. When working with any kind of algorithm, it is important to know how fast it runs and in how much space it operates — in other words, its time complexity and space complexity. As shown in the section above, comparison-based sorting algorithms have a time complexity, meaning the algorithm can't be faster . However, usually, the running time of algorithms is discussed​ in terms of Big , and not Omega. For example, if an algorithm had a worst-case running time of O, then it is guaranteed that the algorithm will never be slower , and if an algorithm has an average-case running time of O(n2 ), then on average, it will not be slower than O(n2 ).
The running time describes how many operations an algorithm must carry out before it completes. The space complexity describes how much space must be allocated to run a particular algorithm. For example, if an algorithm takes in a list of size , and for some reason makes a new list of size for each element in , the algorithm needs space.

1.3 CLASSIFICATION OF SORTING ALGORITHMS USED IN COMPUTER SCIENCE

  • Computational complexity (worst, average and best behavior) of element comparisons in terms of the size of the list.

For typical sorting algorithms good behavior is O(n logn) and bad behavior is O(n2).
·Memory usage (and use of other computer resources). In particular, some sorting algorithms are "in place". This means that they need only O(1) memory beyond the items being sorted and they don't need to create auxiliary locations for data to be temporarily stored, as in other sorting algorithms
.
·Recursion: Some algorithms are either recursive or non-recursive, while others may be both (e.g., merge sort).
·Stability: stable sorting algorithms maintain the relative order of records with equal keys (i.e., values).

1.4                                             AIMS OF THE ALGORITHMS
The algorithm had several aims:

  • To increase the Speed of sorting materials in library.
  • Good memory utilization. The number of elements that can be sorted should closely approach the physical limits of the machine.
  • In order for the algorithm to be truly general purpose the only operator that will be assumed is binary comparison. This rule out methods such as radix sort [2, 3].
  • To obtain good memory utilization when sorting small elements linked lists are avoided. Thus, the lists of elements referred to below are implemented using arrays, without any storage overhead for pointers.
CLICK HERE FOR MORE RELATED TOPICS/MATERIAL

This material is a complete and well researched project material strictly for academic purposes, which has been approved by different Lecturers from different higher institutions. We make abstract and chapter one visible for everyone.

All Project Topics on this site have complete 5(five) Chapters . Each Project Material include: Abstract + Introduction + etc + Literature Review + methodology + etc + Conclusion + Recommendation + References/Bibliography.

To "DOWNLOAD" the complete material on this particular topic above click "HERE"

Do you want our Bank Accounts? please click HERE

To view other related topics click HERE

To "SUMMIT" new topic(s), develop a new topic OR you did not see your topic on our site but want to confirm the availiability of your topic click HERE

Do you want us to research for your new topic? if yes, click "HERE"

Do you have any question concerning our post/services? click HERE for answers to your questions

You can also visit our facebook Page at fb.me/hyclas to view more our related construction (or design) pics


For more information contact us through Any of the following means:

Mobile No :+2348146561114 or +2347015391124 [Mr. Innocent]

Email address :engr4project@gmail.com

Watsapp No :+2348146561114

To View Our Design Pix: You can also visit our facebook Page at fb.me/hyclas for our design photos/pics.



IF YOU ARE SATISFIED WITH OUR SERVICES, PLEASE DO NOT FORGET TO INVITE YOUR FRIENDS AND COURSEMATES TO OUR PAGE.