Console-Based Music Management System
A console-based music player application demonstrating practical implementation of fundamental data structures and algorithms. The project showcases efficient playlist management using linked lists and fast song retrieval through hash table implementation.
The application leverages C++'s object-oriented features to create a modular, maintainable codebase. Linked lists provide efficient insertion and deletion operations for playlist management, while hash tables enable rapid song lookups without linear search overhead.
Custom implementations of doubly linked lists, hash tables, and queues optimized for music player operations
O(1) song lookup, O(n) playlist traversal, and efficient memory management
Clean class hierarchy with Song, Playlist, and Player classes following SOLID principles
Challenge: Implementing efficient shuffle functionality without duplicates.
Solution: Used Fisher-Yates shuffle algorithm with array-based temporary
storage
for O(n) time complexity.
Challenge: Managing memory efficiently with dynamic playlist sizes.
Solution: Implemented proper destructor chains and smart pointer-like
mechanisms
to prevent memory leaks.
This project demonstrates deep understanding of fundamental computer science concepts and their practical applications. It showcases the ability to choose appropriate data structures for specific use cases and implement them efficiently in C++.