Welcome to the repository containing the solutions to the problem sets I worked on for my CS2040S course at college. This repository is intended to serve as a reference for students currently taking the course, as well as a portfolio to demonstrate my problem-solving skills in data structures and algorithms.
This repository contains my personal solutions to the problem sets assigned in the CS2040S course. Each problem set focuses on different aspects of data structures and algorithms, providing a comprehensive understanding of the subject matter.
CS2040S: Data Structures and Algorithms
The CS2040S course is designed to provide an in-depth understanding of fundamental data structures and algorithms. Topics covered include:
- Arrays and Linked Lists
- Stacks and Queues
- Hash Tables
- Trees and Graphs
- Sorting and Searching Algorithms
- Dynamic Programming
- Greedy Algorithms
Below is a list of the problem sets solved in this repository:
- PS_1: Shift Register
- PS_2: Load Balancing
- PS_3: Sorting Detective
- PS_4: ScapeGoat Trees
- PS_5: ScapeGoat Trees, Part 2
- PS_6: Markov Model
- PS_7_1: Mazes Part 1
- PS_7_2: Mazes Part 2
- PS_7_3: Mazes Part 3
- PS_8: Traveling Salesman
Each problem set is contained within its own directory and includes the problem statement, solution code, and any additional notes or explanations.
The repository is structured as follows:
CS2040S-Problem-Sets/
│
├── PS_1_Shift_Register/
│ ├── PS_1.pdf
│ ├── src/
│ │ ├── Solution1.java
│ │ └── ...
│
├── PS_2_Load_Balancing/
│ ├── PS_2.pdf
│ ├── src/
│ │ ├── Solution2.java
│ │ └── ...
│
├── PS_3_Sorting_Detective/
│ ├── PS_3.pdf
│ ├── src/
│ │ ├── Solution3.java
│ │ └── ...
│
├── PS_4_ScapeGoat_Trees/
│ ├── PS_4.pdf
│ ├── src/
│ │ ├── Solution4.java
│ │ └── ...
│
├── PS_5_ScapeGoat_Trees_Part_2/
│ ├── PS_5.pdf
│ ├── src/
│ │ ├── Solution5.java
│ │ └── ...
│
├── PS_6_Markov_Model/
│ ├── PS_6.pdf
│ ├── src/
│ │ ├── Solution6.java
│ │ └── ...
│
├── PS_7_1_Mazes_Part_1/
│ ├── PS_7_1.pdf
│ ├── src/
│ │ ├── Solution7_1.java
│ │ └── ...
│
├── PS_7_2_Mazes_Part_2/
│ ├── PS_7_2.pdf
│ ├── src/
│ │ ├── Solution7_2.java
│ │ └── ...
│
├── PS_7_3_Mazes_Part_3/
│ ├── PS_7_3.pdf
│ ├── src/
│ │ ├── Solution7_3.java
│ │ └── ...
│
├── PS_8_Traveling_Salesman/
│ ├── PS_8.pdf
│ ├── src/
│ │ ├── Solution8.java
│ │ └── ...
│
└── README.md
To view the solutions, navigate to the respective problem set directory, open the problem statement PDF, and review the solution files in the src
folder. Each solution is written in Java.
If you have suggestions for improvements or alternative solutions, feel free to fork this repository and create a pull request. Please ensure your contributions are well-documented and adhere to the coding standards used in this repository.
Feel free to reach out if you have any questions or need further clarification on any of the solutions provided. Happy Coding