Skip to content

Latest commit

 

History

History
80 lines (61 loc) · 2.67 KB

File metadata and controls

80 lines (61 loc) · 2.67 KB

Data-Structures-Java-Application

A software engineering project that provides intuitive solutions to common data structure problems through a user-friendly graphical interface.

Features

  • Graphical User Interface (GUI): Built with Java Swing, allowing intuitive navigation with minimal clicks.
  • Core Functionalities:
    • Calculate union and intersection of sets using stacks and queues.
    • Merge two sorted lists into one.
    • Display negative numbers in a given interval from a doubly linked list.
    • Remove positive keys from a singly linked list.
    • Convert a queue to a matrix representation.

Technologies Used

  • Programming Language: Java
  • IDE: NetBeans
  • Libraries:
    • Swing for GUI
    • Java.util for data structures and algorithms
    • JUnit for unit testing

Team Members

  • Project Manager: Branzea Ana-Maria
  • Developers:
    • Cosma Tania
    • Dinu Cosmin
    • Banica Adelin
    • Cobzaru Cosmin

How to Use

  1. Launch the application to access the Main Menu.
  2. Select a team member's name to open the solution for their assigned problem.
  3. Each window provides:
    • Problem description.
    • Input fields for data entry.
    • Buttons to perform operations or reset data.
    • Results displayed in real-time.

System Requirements

  • Hardware:
    • Processor: Dual-core, 2 GHz or equivalent
    • RAM: 4 GB
    • Free Disk Space: 10 GB
  • Software:
    • Java Runtime Environment (JRE) 8 or higher
    • Minimum screen resolution: 1280x800

Project Workflow

The project follows a Waterfall Model for planning and Agile Paradigm for iterative problem-solving and testing.

Development Phases:

  1. Planning: Collaborative discussions to finalize project goals and solutions.
  2. Problem Solving & Testing: Assigning and solving specific problems with individual unit tests.
  3. Application Design: Integrating solutions into a single application.
  4. Documentation: Creating system and user documentation.

Example Problems

  • Union and Intersection:
    • Input: Two sets (stack & queue).
    • Output: Union as a stack, intersection as a queue.
  • Sorted List Merge:
    • Input: Two pre-sorted lists.
    • Output: One merged sorted list.
  • Negative Numbers in Interval:
    • Input: Doubly linked list and interval bounds.
    • Output: Negative values within the interval.

Documentation

For more information, check the detailed project documentation in Romanian.

License

This project is developed as a part of the Software Engineering curriculum at Universitatea Petrol și Gaze Ploiești and is intended for educational purposes only. For more informations, check the documentation.