Skip to content

This project is a portfolio of console applications developed for my Algorithms and Data Structures module, demonstrating the implementation of fundamental computer science concepts in C#.

Notifications You must be signed in to change notification settings

Ashwashhere/AlgorithmsAndDataStructures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithms & Data Structures in C#

This repository is a comprehensive portfolio of console applications developed for my Algorithms and Data Structures module. It showcases the implementation of fundamental computer science concepts, focusing on efficient data management, search optimization, and algorithmic complexity.

🚀 Overview

The goal of this project is to demonstrate a deep understanding of how data structures operate under the hood. Rather than relying solely on built-in libraries, these implementations are built from scratch to highlight logic flow and memory management in C#.


📂 Project Structure

File Description Key Concept
AVLTree.cs Self-balancing binary search tree. Rotations, Height Balancing
BSTree.cs Standard Binary Search Tree. Recursion, In-order Traversal
BinTree.cs Basic Binary Tree implementation. Hierarchical Data
Graph.cs / GraphNode.cs Adjacency-based graph structure. Nodes & Edges, Connectivity
LinkList.cs / Node.cs Custom Linked List implementation. Pointer Logic, Dynamic Memory
SelectionSortGen.cs Generic implementation of Selection Sort. Sorting, Time Complexity

🛠️ Getting Started

Prerequisites

  • .NET SDK (Version 6.0 or higher recommended)
  • An IDE like Visual Studio, VS Code, or JetBrains Rider.

Installation & Run

  1. Clone the repository:
git clone https://github.com/Ashwashhere/AlgorithmsAndDataStructures.git
  1. Navigate to the project directory:
cd AlgorithmsAndDataStructures
  1. Restore dependencies and run:
dotnet run

🧠 Key Learnings

  • Tree Balancing: Implementing the AVL rotation logic to maintain search time.
  • Generics: Utilizing C# Generics in SelectionSortGen.cs to ensure the algorithm works across different data types.
  • Graph Theory: Managing relationships between nodes and understanding traversal patterns.

About

This project is a portfolio of console applications developed for my Algorithms and Data Structures module, demonstrating the implementation of fundamental computer science concepts in C#.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages