Welcome to the Algorithms repository for NTUEE! This repository contains implementations of various algorithms as part of programming assignments.
In PA1, we focus on implementing different sorting algorithms. The sorting algorithms included are:
- Insertion Sort (IS)
- Merge Sort (MS)
- Quick Sort (QS)
- Randomized Quick Sort (RQS)
- Heap Sort (HS)
These implementations are designed to help understand and compare the performance of different sorting algorithms under various scenarios.
PA3 deals with the cycle breaking problem in a simple, weighted graph. Given a graph G = (V, E, w), where:
- V represents the set of vertices,
- E represents the set of edges, and
- w represents the edge weights,
the objective is to make the graph acyclic by removing some edges in E while minimizing the total weight of the removed edges.
This problem is crucial in scenarios where we need to optimize graph structures, such as in network optimization or resource allocation problems.
Each programming assignment directory contains the source code along with any necessary files. Detailed instructions on how to compile and run the code can be found within each directory's README file.
Contributions to this repository are welcome! If you have suggestions for improvements, new algorithms to implement, or find any issues, feel free to open an issue or submit a pull request.
Happy coding!