In this project, students will implement a library of basic data structures using Java (or C++). The
Question:
In this project, students will implement a library of basic data structures using Java (or C++). The library should include (at least 3 of) the following data structures and provide interfaces for accessing their methods:
1. Linked List: Implement a singly linked list with basic operations such as insertion, deletion, and traversal. Your linked list needs to have integer keys. (10 points)
2. Stack: Implement a stack with its defining operations: push, pop, top. Your stack needs to save integer keys. (10 points)
3. Queue: Implement a queue with its defining operations: enqueue and dequeue. Your queue needs to save integer keys. (10 points)
4. Min Heap: Implement a min heap with its defining operations: insert and extractMin. Your heap needs to save integer keys. (12 points)
5. Binary Search Tree: Implement a binary search tree (BST) with the operations: insert, delete, find, and inorder traversal. (13 points) Project Requirements: For each of the above data structures, students should:
● Provide a well-documented and organized codebase, following best practices for coding style and commenting.
● Follow the Object-Oriented Programming (OOP) Approach: Implement each data structure using a class-based approach. Each data structure should be encapsulated within its own class with an interface to access the main methods, promoting code modularity and reusability. Ensure proper use of class members (attributes and methods) for encapsulation.
● Ensure Loose Coupling: Design your classes in a way that promotes loose coupling between different data structures. Minimize dependencies between classes to make your codebase modular and maintainable.
● User-Friendly Menu: Implement a guiding menu within your program that explains the available options to the user. The menu should provide clear descriptions of each operation the user can perform with the data structure(s). It should also handle user input gracefully and provide meaningful output.
● Sample Output: Your program's menu system should resemble the sample provided in the project description, as illustrated in the sample test cases. This means that the user should interact with the program by selecting options, inputting data, and receiving output in a structured and easily understandable format.
Income Tax Fundamentals 2013
ISBN: 9781285586618
31st Edition
Authors: Gerald E. Whittenburg, Martha Altus Buller, Steven L Gill