This repository contains solutions and comparative analyses for various data structures and algorithms implemented in C++. The focus is on performance evaluation and algorithmic efficiency.
This lab implements and compares the efficiency of different types of trees:
- Red-Black Tree
- Binary Search Tree (BST)
- AVL Tree
The lab includes implementations of insertion, deletion, and search operations for each tree type, and provides performance metrics for comparison.
This lab focuses on comparing the performance of different shortest path algorithms using various heap data structures:
- Dijkstra's Algorithm (Standard Implementation)
- Dijkstra's Algorithm with Fibonacci Heap
- Dijkstra's Algorithm with Binary Heap
The lab evaluates the algorithms based on execution time for graphs with varying densities and sizes.
This lab explores various data compression algorithms:
- Huffman Coding (HA)
- Run-Length Encoding (RLE)
- Lempel-Ziv 78 (LZ78)
- Burrows-Wheeler Transform (BWT)
- Move-To-Front (MTF)
- Arithmetic Coding (AC)
- Prediction by Partial Matching (PPM)
The lab includes implementations and performance evaluations of these algorithms.
The coursework involves implementing a Sudoku solver using different algorithmic approaches. The solver aims to efficiently solve Sudoku puzzles of varying difficulty levels.
- C++17 or higher
- A C++ compiler (e.g.,
g++
,clang++
)