Skip to content

Iyadh27/DSA_Labs

Repository files navigation


Data Structures and Algorithms (DSA) Labs

Description

This repository contains a collection of Data Structures and Algorithms (DSA) labs solved as part of the DSA module in our course. The labs cover a wide range of foundational topics in computer science, from basic sorting and searching algorithms to more advanced concepts like graph algorithms, binary search trees, and heaps. Each lab is implemented with a focus on understanding the underlying principles of DSA and optimizing for performance and efficiency.

Table of Contents

  1. Lab Topics
  2. Installation
  3. Usage
  4. Technologies Used
  5. Features
  6. Contributing

Lab Topics

The following is a list of key topics covered in this repository:

  • Sorting Algorithms: Implementation of various sorting algorithms including Quick Sort, Merge Sort, Bubble Sort, and Insertion Sort.
  • Searching Algorithms: Includes Binary Search, Linear Search, and their application in different contexts.
  • Single-Source Shortest Path: Implementations of Dijkstra's and Bellman-Ford algorithms.
  • Graph Algorithms: Depth-First Search (DFS), Breadth-First Search (BFS), and algorithms for detecting cycles, finding connected components, and minimum spanning trees.
  • Binary Search Trees: Operations on BSTs such as insertion, deletion, traversal (in-order, pre-order, post-order), and balancing.
  • Heap Operations: Implementation of Max Heap, Min Heap, and Heap Sort.
  • Stack and Queue: Implementations and applications of stacks and queues, including problems like balanced parentheses, expression evaluation, and queue-based simulations.

Installation

  1. Clone the Repository: Start by cloning the repository to your local system.

    git clone https://github.com/Iyadh27/DSA_Labs.git
  2. Navigate to the Project Directory: Move into the project directory.

    cd DSA_Labs

Usage

Each lab folder contains source code files and may include additional documentation or explanations. To run a specific lab, navigate to the corresponding directory and follow the instructions provided in the README.md file within that directory (if available).

Technologies Used

  • Programming Language: C++
  • Data Structures: Arrays, Linked Lists, Stacks, Queues, Trees, Graphs, Heaps
  • Algorithms: Sorting, Searching, Graph Traversal, Pathfinding, Tree Operations

Features

  • Comprehensive DSA Coverage: A wide range of fundamental DSA topics are covered with clear, well-documented code.
  • Optimized Implementations: Focus on efficient algorithms with an understanding of time and space complexity.
  • Practical Applications: Labs include practical problems that demonstrate the application of DSA in real-world scenarios.

Contributing

Contributions are welcome! If you have any suggestions, improvements, or additional labs to add, feel free to open an issue or submit a pull request.

This repository serves as a valuable resource for anyone looking to strengthen their understanding of Data Structures and Algorithms through practical, hands-on labs. Feel free to explore, learn, and contribute!

About

This repository contains files of all the labs I have completed for DSA module. Was created on 8/5/2023 on request of our Lecturer to keep it organized.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages