Skip to content

Instantly share code, notes, and snippets.

@nazmul629
Created January 31, 2022 14:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nazmul629/6bd4f6555d7f6ea974ce79057ff1d399 to your computer and use it in GitHub Desktop.
Save nazmul629/6bd4f6555d7f6ea974ce79057ff1d399 to your computer and use it in GitHub Desktop.
Data Stracture

Module-1: Intro to

Algorithm

  1. What is algorithm and where we use
  2. Practical demonstration of algorithm use cases, guessing game

Module-2: Asymptotic Analysis

  1. Introduction to Asymptotic Notation.
  2. Discussion on different types of Asymptotic Notation(Big theta, Big O, Big Omega)

Module-3: Topics on Array/ list

1.1.What is array and list. 1.2.Implementation of array of different programming languages. 2.1.What is Queue? 2.2.Implementation of Queue. 3. Problems on Queue. 5. What is Stack? Implementation of Stack in different programming languages. 6. Problems on Stack. 7. Quiz on Stack. 8. Linear Search. 9. Binary Search. 10. Problems on Binary Search. 12. Introduction to Recursion 13. Binary Search by Recursion.

Module-4: Linked List

  1. Introduction to Single Linked List, Double Linked List and Circular Linked List.
  2. Sample problems on Linked List.

Module-5: Sorting

  1. Bubble Sort.
  2. Insertion Sort.
  3. Selection Sort.
  4. Quick Sort.
  5. Merge Sort.
  6. Heap Sort.

Module-6: Graph

  1. What is graph and different types of graph example.
  2. Adjacency List and Matrix Representatio n of Graph.
  3. BFS Algorithm.
  4. Problems on BFS Algorithm.
  5. DFS Algorithm.
  6. Problems on DFS Algorithm.
  7. Topological Sort.
  8. Problems on topological Sort.
  9. Union Find Algorithm.
  10. Problems on Union Find Algorithm.
  11. Minimum Spanning Tree-Primes Algorithm.
  12. Minimum Spanning Tree Kruskal Algorithm.
  13. Problems on Minimum Spanning Tree.
  14. Articulation Point Algorithm.
  15. Finding Articulation Point by Tarjans Algorithm.
  16. Problems on Articulation Point.
  17. Strongly Connected Components.
  18. Finding Strongly Connected Components by Kosaraju Algorithm.
  19. Problems on Strongly Connected Components.
  20. Max Flow.
  21. Problems on Max Flow.
  22. Shortest Path in Weighted Graph Dijkstra Algorithm.
  23. Shortest Path in Weighted Graph Bellmanford Algorithm.

Module 7: Backtracing and Recursion

  1. What is recursion / Backtracking
  2. Generate Permutation with Backtracking
  3. N Queen Problems with Backtracking

Module 8: Binary

Search Tree 1. What is BST 2. Discussion on PreOrder, In-Order and Post Order Traversal 3. Problems on Binary Search Tree

Module 9 : Greedy Algorithm

  1. What is Greedy Algorithm
  2. Coin change
  3. Fractional 0/1 Knapsack
  4. One Machine Maximum Jobs
  5. All jobs Minimum Machine
  6. Minimize Maximum Lateness

Module 10: Dynamic Programming

  1. What is Dynamic Programming & difference between Greedy approach and Dynamic Programming
  2. Fibonacci Number finding with Dynamic Programming
  3. Factorial with Dynamic Programming
  4. Edit Distance with Dynamic Programming
  5. Longest Common Subsequence (LCS ) with Dynamic Programming
  6. Longest Increasing Subsequence with Dynamic Programming 7.0/1 Knapsack with with Dynamic Programming
  7. Rod Cutting Algorithm with Dynamic Programming
  8. Coin Change with Dynamic Programming
  9. Subset Sum Algorithm with Dynamic Programming
  10. Weighted Job Scheduling with Dynamic Programming

Module 11: String Algorithm

  1. What is Palindrome and Anagram
  2. KMP algorithm
  3. Problems on KMP Algorithm
  4. Trie Algorithm
  5. Problems on Trie
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment