/DSALGO-VISUALIZER

Learn Data Structures And Algorithms With Animations.

Primary LanguageHTMLMIT LicenseMIT

NOTE: CURRENLTY WORKING ON IT

DS ALGO ⚡️ GitHub GitHub stars GitHub contributors GitHub issues GitHub forks

Ds Algo visualizer is made for students who want to learn Data structures and algorithms with Animations. This project includes all the important data structures that are being used widely.

DATA STRUCTURES

  1. Array
  2. Matrix
  3. Stack
  4. Queue
  5. Heap
  6. Linked List
  7. Binary Search Tree
  8. Graph
  9. String
  10. Disjoint Set
  11. Hashing Table

ARRAY ALGORITHMS

  1. Kadanes
  2. Prefix Sum
  3. Sliding Window
  4. Binary Search
  5. Linear Search
  6. Array Partitioning
  7. Linear Search
  8. Rain Water Trapping

STACK ALGORITHMS

  1. Balanced Bracket
  2. Infix To Postfix
  3. Infix To Prefix
  4. Postfix Evaluation
  5. Prefix Evaluation
  6. Maximum Area Under The Histogram
  7. Min Stack O(1)

MATRIX ALGORITHMS

  1. Transpose
  2. Kadanes 2D
  3. Sorted Matrix Search
  4. Sparse Matrix

QUEUE ALGORITHMS

  1. BFS

HEAP ALGORITHMS

  1. Heapify
  2. Heap Sort

LINKED LIST ALGORITHMS

  1. Singly Linked List
  2. Doubly Linked List
  3. Circular Linked List
  4. Circular Doubly List
  5. Stack Using Linked List
  6. Queue Using Linked List

BINARY SEARCH TREE ALGORITHMS

  1. BST Implementation
  2. Traversal (Inorder, Preorder, Postorder)

GRAPH ALGORITHMS

  1. BFS
  2. DFS
  3. Flood Fill
  4. Color Filling
  5. DFS Maze
  6. Cycle Detection (BFS / DFS)
  7. Prims
  8. Kruskals
  9. Topological Sort
  10. Bellman Ford
  11. Floyd Warshall
  12. Graph Coloring
  13. Snake And Ladders
  14. Travelling Salesman

SORTING ALGORITHMS

  1. Heap Sort
  2. Bubble Sort
  3. Selection Sort
  4. Insertion Sort
  5. Quick Sort
  6. Merge Sort
  7. Counting Sort
  8. Shell Sort

BINARY SEARCH ALGORITHMS

  1. Binary Search
  2. Start Pont Of Rotated Array
  3. Find Peak Element
  4. Biotonic Array Search
  5. Minimum Page Allocation

RECURSION ALGORITHMS

  1. Factorial
  2. H Tree Animation
  3. Snow Flakes Animation
  4. Tower Of Hanoi

BACKTRACKING ALGORITHMS

  1. N-Queen
  2. Maze Generator
  3. Sudoku
  4. Knight Tour
  5. Graph Coloring

DIVIDE AND CONQUER PARADIGM

  1. Merge Sort
  2. Quick Sort
  3. Counting Inversion

GREEDY PARADIGM

  1. Prims
  2. Kruskals
  3. Fractional Knapsack
  4. Counting Money
  5. Job Scheduling
  6. Huffman Coding

DYNAMIC PROGRAMMING PARADIGM

  1. Travelling Salesman
  2. 0/1 Knapsack
  3. Unbounded Knapsack
  4. Subset Sum
  5. Cutting Rod
  6. Coin Change
  7. Longest Common Subsequence
  8. Matrix Chain Multipication
  9. Levenshtein Distance
  10. Ladders Problem

STRING ALGORITHMS

  1. Naive Matching
  2. KMP
  3. Robin Karp
  4. Z Algorithm
  5. Boyer Moore

DISJOINT SET ALGORITHMS

  1. Union
  2. Find

HASHING TABLE ALGORITHMS

  1. Open Hahing
  2. Closed Hashing
    1. Linear Probing
    2. Quadratic Probing
    3. Double Hashing

TIME COMPLEXITY

  1. Big-Oh (O)
  2. Big-Omege (Ω)
  3. Big Theta (θ)

NUMBER THEORY

  1. Sieve Of Eratosthenes
  2. GCD (Eucledian)
  3. Extended Eucledian
  4. Binary Exponentiation

When I thought of commencing this project the first doubt that came to mind was that Should I use Javascript Framework (REACT) or VISUALIZER Js To create this project and finally I decided to use VISUALIZER Js and the reason I came to this conclusion was that I wanted to keep this project simple so that more and more people could contribute and learn from it.

You can contribute to this project in many ways

  1. You can create an issue if you find any bug.
  2. You can work on an existing issue and Send PR.
  3. You can add another data structure or Algorithm to the existing project and Send a PR.
  4. Even if you find any grammatical or spelling mistake then also you can create an issue.

I would be glad to see a notification saying User {xyz} created a Pull Request. I promise to review it.

Contributors ✨

Thanks goes to these wonderful people


Aditya Sarin

📖

XHunter

📖