This project implements a book recommendation system using various data structures and search algorithms to optimize query efficiency. The system allows users to search for books based on different criteria, such as title, author, genre, average rating, number of pages, number of reviews, publication date, and publisher. Additionally, it provides recommendations based on specific categories.
- Searches books using multiple criteria.
- Retrieves the top 5 most relevant books in a category.
- Implements different data structures to optimize performance.
- Compares search and data storage algorithms.
- Data Structures
- Dynamic Array
- Singly Linked List
- Doubly Linked List
- Search Algorithms
- Sequential Search
- Binary Search (implemented with QuickSort for data sorting)
- Auxiliary Structures for Recommendations
- Stack
- Queue
- Priority Queue
The system works with a dataset of approximately 11,000 books obtained from Goodreads libro_final.csv. It includes the following information:
- Book ID
- Title
- Author
- Genre
- Average Rating
- Number of Pages
- Number of Reviews
- Publication Date
- Publisher
Important: Data must be entered exactly as stored in the database, with names separated by
_instead of spaces.