This repository contains assignments from a Data Structures and Algorithms course, taught by Dr. Mohammad Akbari and Dr. Sajad Shirali-Shahreza. The projects demonstrate various concepts and techniques used in solving problems related to data structures and algorithms.
-
Interval Union
- Computes the union of a set of intervals on the number line and outputs it in a non-overlapping, standard format.
-
Greedy Power Accumulation in Graphs
- Determines the minimum initial power required for a country to conquer all others in a graph-based representation, given specific constraints on power accumulation and neighboring relations.
-
Gossip Relay Simulation
- Simulates the propagation of a secret among a group of friends based on directed "gossip" relationships, and calculates the minimum time required for the secret to be revealed to the originator again.
-
Algebraic Expression Solver
- Parses and solves algebraic expressions, handling different types of operations and ensuring correct order of precedence.