The application is designed to optimize storage efficiency by employing two linked generics data structures - a Binary Search Tree (BST) and a Doubly Linked List. The program facilitates the management of a box storage facility, allowing users to perform various operations such as adding, removing, and obtaining the best offer for square-bottomed boxes, which are represented by their width (X), length (X), and height (Y).
My generic Binary Search Tree (BST) is designed to perform efficient searching and retrieval operations. The BST utilizes a generic key and value structure, enabling the storage of complex data while maintaining optimal performance in terms of insertion, deletion, and retrieval operations. Additionally, I have implemented an efficient search algorithm that can locate elements with minimum and maximum values.
The list that I have implemented emulates a queue-based addition approach and implements item deletion in descending order, ensuring that the efficiency of add and remove operations is maintained at O(1). This is achieved through the incorporation of Prev and Next pointers in each node, allowing for streamlined access to preceding and succeeding elements.