Data Structures and Algorithms: 994594

Introduction

For a program to have executed successfully and having met all the properties it should have executed with the minimum space in the memory and with the least time possible. That is what is referred as an effective and efficient algorithm. The ones that require a lot of space and time for execution are said to be less effective in data structures.

The library system Analysis

A library system or Library Management System (LMS) is a planning system for a library and is used to track items owned from the library, orders made, borrowers and borrowed items from the library, bills paid and all management pertaining the library. For the system to work appropriately, several variables must be identified so as to store some known or unknown quantities of data. These quantities of information are referred to as values and they are assigned  with a symbolic name. Some of the variables that are going to be used in the making of the library system include;

  1. Short
  2. Int
  3. Long
  4. Float
  5. Double

The following involves the variables that are essential in the storage of data that is going to

 be used in the execution of the library system software. These variables are useful in holding the critical information of key components of the library system. These variables are essential since they are going to assist in writing a flexible program that is going to hold data temporarily until it’s time for execution.

A key is a unique identification used to identify items in the library inventory. The keys should be unique and different from others for appropriate identification. The keys that are going to be used in the design of the LMS include:

  1. B123 for books search
  2. D123 for DVD’s search
  3. J123 for journal search
  4. O123 other related library material

The keys used are ranges and the ones listed are the starting limit for each category. Each category will be listed from the initial key as listed. From this unique key identifiers, all operations are able to be conducted on the inventory with ease.

Range refers to the upper and lower limits for possible variable values. The values for the

Variables should not exceed the range so as to avoid the values to be out of range hence not considered obsolete.

The range that are going to be used include;

  1. the upper limit
  2. lower limit

The upper limit will provide the maximum limit a value can reach and exceeding that value will make the value outmoded. The lower limit will provide the threshold to which the values of the variables that must reach in order to be considered significant values.

The operation the Library should be able to hold at least 1500 different course books, 1200 journals, 500 DVD’s or any other storage devices so as to fully and efficiently serve it users. This library system is developed for Kent Institute and since there are not many users the above number of items of the library should be adequate for the normal working of the library.

Operations conducted by Library System

The operations conducted by the library should include the normal functioning of the library and some additional features since the process has been automated (Taieb, F. 2017, 23) The normal operations include;

  1. A book or any other library material should be added to the library with a unique identification number and the shelf to where it is place properly indicated and put with proper categorization.
  2. issuing of books and other library related tools to the authorized users of the library. The users should be legible and should not be having other withheld library materials.
  3. The Library Management System should provide a search method for the users to check for what they might be looking for in the library. The search should be effective and provide the users comprehensive information about the items searched for.
  4. The system should keep track of the items given out from the library. Their issuing and return date should be properly indicated and a means to remind the user of the deadline should be put into place. This will reduce the overstaying of items by an individual having a wanted library item.
  5. The library system should facilitate other administrative activities such as data processing and inventory processing.

Algorithms required

For the library operations to be performed effectively, there are some algorithms that must be put in place in the Library system. These algorithms are the ones responsible for smooth working and automation of library processes and operations. The algorithms that are going to be put into place include;

  1. Sorting algorithm
  2. Searching algorithm
  3. Inserting algorithm
  4. Deleting algorithm
  5. Merging algorithm

The first algorithm is the sorting algorithm. What this algorithm solely does is put the essentials of a list in an order. By order it means that the order must be sensible. The list must be ordered either numerically, ascending, descending order or any other method that makes values to be acquired with ease.

Without sorting, the process of acquiring something from a myriad of the rest will be a cumbersome job. Though sorting also is process, it is preferable since after sorting items can be acquired with simplicity. The best specific sort algorithm is the quick sort algorithm. The time complexity for quick sort is O(log n) in the best case scenario and O(n^2) for average case. Average case is considered the best performance for most inputs hence considered the fastest algorithm. In this library case, a sorting algorithm is very important in acquiring an item from it. Taking an instance of searching a book from an unsorted library, getting it would be a very tiring process (Byrne, B. 2013, 67). A sorting algorithm is going to assist in the arranging of books in the shelf for easy accessing and retrieval. Whichever the method the algorithm would have sorted the books, it will be easier accessing it compared to going through all the books to get the one an individual want.

Sorting will have reduced the process of looking for a book in the library or any other material. But the search algorithm is important in getting the information of the precise location of a book or any other item. A search algorithm is any algorithm that solves the searching problem. The algorithm uses the information provided to give out the exact location of the object looked for. The best specific search algorithm is the binary search algorithm. This algorithm works in a way that it divides a list in two halves. The search list must be sorted first for the search effective. The search compares the element searched for with the element at the middle of the list. This process divides until the element searched for is found. The binary search is effective because it has a time complexity of O(log(n)) for each search of a list. In this library case, the information must be first fed into the computer regarding the information of the items. If the item exists, the algorithm points out the location and if it is not available, the algorithm saves the time for the seeker in going through the shelves. This makes the algorithm be important in use in the library system.

Inserting algorithm adds a new record to list. The algorithm is very important to the library system. Items in the library are continually added for studies use. A method of adding the information to the system must be put in place to enable the other algorithm of sorting and searching to access it and ease the process of using the library. The algorithm will ease the process of recording information about an item and integrate the items information with the other.

Deleting information is an inevitable process since when information becomes invaluable, it has no value to the user and hence its flooding of data to the memory of the computer is not necessary. Deleting algorithm removes an item from the inventory and hence when a user looks for it, they are going to be told directly that the item was removed from the inventory. The algorithm is important in the library system since it is going to save on space memory by removing data of items that are not required in the library.

Merging algorithm is an additional algorithm that is essential in the working of the library system. What this algorithm essentially does is combine items from the same sorted list. If a librarian finds there are some items that need to be merged in case of a request by a user, the algorithm will come in handy in such scenarios. Items requested by a class or course from different categories can be merged and lent out from the library hence ease the process of combining the items together (Toso, R. 2015, 18).

For another university with the increased number of users as per the data provided, the system would not be effective since it was designed for a smaller institution. With the increased number of users, the system would require a complex system with more over an increased sized library which can hold a large number of library items for the gargantuan number of users. This will mean that the library will have more librarians and more inventory. The library system should have a larger database to hold the inventory information and borrower’s details. The system requirements should be different from the previous system since the new system must have faster software and effective hardware. The speed for the machine should be able to execute information fast since the system will be serving a large number of users.

Conclusion

In conclusion, data structures assist in the organization of data in the memory of a computer for faster access. Algorithms play a great role in realizing the operations run by a system. For this case, the realization of the library system was made by the use of several algorithms that are mainly used in data structures. Library system automates operations in the library that require a lot of manpower to perform. Large institutions require complex systems for operations of their activities. More space and computer speed with specific type of hardware are required for complete realization of tasks.

References

Michalewicz, Z., (2013) Genetic algorithms+ data structures= evolution programs. Springer Science & Business Media.

Zhang, M., Zhu, J., Zou, Y., Yan, H., Hao, D. and Liu, C., (2015) March. Educational evaluation in the PKU SPOC course data structures and algorithms. In Proceedings of the Second (2015) ACM Conference on Learning@ Scale (pp. 237-240). ACM.

Taieb, F., Stevens, B.H. and Coughlin, R.E. (2017) Urban ananlysis for branch library system planning. Greenwood publishing company (1972).

Byrne, B.M. (2013) Structural equation modeling with LISREL, PRELIS, and SIMPLIS: Basic concepts, applications, and programming. Psychology Press.

Toso, R.F. and Resende, M.G. (2015) A C++ application programming interface for biased random-key genetic algorithms. Optimization Methods and Software, 30(1), pp.81-93.

Zhang, X., Tian, Y., Cheng, R. and Jin, Y. (2014) An efficient approach to nondominated sorting for evolutionary multiobjective optimization. IEEE Transactions on Evolutionary Computation, 19(2), pp.201-213.