Skip to content

A comprehensive collection of my work and understanding as I explore various DSA topics. I created it to document and showcase the concepts, implementations, and problem-solving techniques I learn throughout my journey.

License

Notifications You must be signed in to change notification settings

TheLeopard65/MY-DSA-JOURNEY

Repository files navigation

Leopard's DSA Learning Journey

Welcome to my Data Structures and Algorithms (DSA) Learning Journey! This repository is a comprehensive collection of my work and understanding as I go through various DSA topics. I created this repo to document and showcase the concepts, implementations, and problem-solving techniques I learn throughout my journey.

Contents

This repository covers the following important topics in DSA:

  1. Time Complexity: Learn about different time complexities like Constant, Logarithmic, Linear, Quadratic, etc., and how they affect algorithm efficiency.

  2. Arrays: Basic and advanced operations on arrays, including 1D and 2D arrays and their manipulation.

  3. Strings: Working with strings, including common string manipulation algorithms and libraries.

  4. Linked Lists: Covers singly linked lists, doubly linked lists, circular linked lists, and related operations.

  5. Stacks: Stack implementation using arrays and linked lists. Includes finite and infinite stacks.

  6. Queues: Covers circular queues, linear queues, and priority queues, all implemented using arrays and linked lists.

  7. Vectors: Dynamic and static vector implementations, including multidimensional vectors.

  8. Recursion: Examples of different types of recursion like tail recursion, non-tail recursion, and indirect recursion.

  9. Trees: Binary trees, AVL trees, and Binary Search Trees (BST), along with common operations like traversal and insertion.

  10. Graphs: Graph data structure, along with BFS, DFS, and Dijkstra's algorithm for directed and undirected graphs.

  11. Hash Maps: Implementation of hash maps using techniques like separate chaining, linear probing, quadratic probing, and double hashing.

  12. Sorting Algorithms: Implementations of common sorting algorithms like Bubble Sort, Selection Sort, Quick Sort, Merge Sort, etc.

Structure of the Repository

The repository is organized as follows:

.
├── 1.Complexity-Analysis    # Understanding Time & Space Complexity
├── 2.Array                  # Array implementations and problems
├── 3.Strings                # String manipulation techniques
├── 4.Linked-Lists           # Linked List implementations
├── 5.Stack                  # Stack implementations (finite, infinite, etc.)
├── 6.Queue                  # Queue implementations (linear, circular, priority)
├── 7.Vector                 # Vector (dynamic/static) implementations
├── 8.Recursion              # Recursion concepts and examples
├── 9.Trees                  # Tree data structures (Binary Tree, BST, AVL, B-Tree, Heap, Trie, etc.)
├── 10.Graphs                # Graph algorithms (BFS, DFS, Dijkstra, etc.)
├── 11.Hash-Maps             # Hash Map implementations (linear probing, separate chaining, etc.)
├── 12.Bubble-Sort           # Bubble sort implementations
├── 13.Selection-Sort        # Selection sort implementations
├── 14.Quick-Sort            # Quick sort implementations
├── 15.Merge-Sort            # Merge sort implementations
└── LICENSE                  # Repository License

How to Use

  1. Clone this repository to your local machine using:

    git clone https://github.com/TheLeopard65/MY-DSA-JOURNEY.git
  2. Navigate into the directory you are interested in.

  3. Read the README.md in each folder for detailed explanations of the concepts and the implementations in each file.

  4. Run the individual programs to see the algorithms in action.

  5. Open the codes in VS-Code/nano/vim or any editor of your choice to learn from the code.

Contribution

I will be continuously updating this repository as I learn new concepts. If you have any suggestions, improvements, or corrections, feel free to create an issue or submit a pull request.

License

This Repository is open-source and available under the MIT License. Feel free to use it for your Learning!


Happy Learning! ✨

About

A comprehensive collection of my work and understanding as I explore various DSA topics. I created it to document and showcase the concepts, implementations, and problem-solving techniques I learn throughout my journey.

Topics

Resources

License

Stars

Watchers

Forks

Languages