Skip to content

AnuskBr/Data-Structures-Java-Application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

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.

Releases

No releases published

Packages

No packages published