Skip to content

4shivv/Java-DSA-Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COP3503 Projects 🚀

This repository contains Java projects for COP3503 (Computer Science 2) at the University of Central Florida. It includes implementations of fundamental data structures, algorithms, graph theory, GUI programming, and object-oriented programming (OOP) concepts in Java.

📂 Projects Overview

This repository includes the following Java projects:

Algorithms & Problem Solving

  • CourseCombinations.java (Combinatorics / Backtracking)

    • Generates all possible course combinations based on predefined constraints.
    • Useful for scheduling and permutation-based problem-solving.
  • GreedyRobots.java (Greedy Algorithms / Optimization)

    • Implements a greedy strategy to optimize movement and resource collection.
    • Demonstrates the efficiency of greedy heuristics in decision-making problems.
  • GreedyChildren.java (Greedy Algorithms)

    • Applies greedy algorithms to solve distribution and optimization problems.
    • Located in src/EustisSetup/
  • ParenthesesCombinations.java (Combinatorics / Backtracking)

    • Generates valid parentheses combinations using recursive backtracking.
    • Useful for parsing problems and expression validation.

Graph Algorithms & Network Optimization

  • CampusNetworkPlanner.java (Graph Theory / Minimum Spanning Tree)

    • Plans optimal network connections across a campus using graph algorithms.
    • Implements disjoint set (union-find) and edge-based graph structures.
    • Demonstrates MST algorithms for network optimization.
  • TreasureHunt.java (Graph Traversal / Pathfinding)

    • Implements graph traversal algorithms to find optimal paths.
    • Demonstrates BFS/DFS and pathfinding techniques.

Data Structures

  • LinkedList.java (Data Structures)

    • Implements a linked list with methods for adding nodes, processing the list, and loading/saving data from/to files.
    • Useful for understanding linked list operations and file I/O in Java.
  • Node.java (Data Structures)

    • Represents a node in the linked list, containing an integer item and a reference to the next node.
    • Essential for the linked list implementation.
  • LinkedListTester.java (Testing)

    • Contains the main method to test the functionality of the LinkedList class.
    • Demonstrates loading data from a file, processing the linked list, and saving the results.

GUI & Application Development

  • ShopGUI.java (GUI Programming / E-commerce)
    • Implements a graphical user interface for an e-commerce application.
    • Demonstrates Swing/AWT components and event-driven programming.
    • Integrates with inventory management and transaction logging systems.

🚀 Getting Started

  1. Clone the Repository

    git clone https://github.com/your-username/COP3503_Projects.git
    cd COP3503_Projects
  2. Run Java Files

    • Open in an IDE (IntelliJ, Eclipse, VS Code)
    • Compile & run in terminal:
      javac filename.java
      java filename

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages