Data Structure & Algorithm


DSA Introduction

  • What is an algorithm?
  • Why learn algorithms?
  • Asymptotic Notations
  • Master Theorem
  • Divide and Conquer Algorithm

Data Structures (I)

  • Stack
  • Queue
  • Types of Queue
  • Circular Queue
  • Priority Queue
  • Deque

Data Structures (II)

  • Linked List
  • Linked List Operations
  • Types of Linked List
  • Hash Table
  • Heap Data Structure
  • Fibonacci Heap
  • Decrease Key and Delete node from Fibonacci Heap

Tree-based DSA (I)

  • Tree Data Structure
  • Tree Traversal
  • Binary Tree
  • Full Binary Tree
  • Perfect Binary Tree
  • Complete Binary Tree
  • Balanced Binary Tree
  • Binary Search Tree
  • AVL Tree

Tree-based DSA (II)

  • B Tree
  • Insertion into B-tree
  • Deletion from B-tree
  • B+ Tree
  • Insertion on a B+ Tree
  • Deletion from a B+ Tree
  • Red Black Tree
  • Insertion in Red Black Tree
  • Deletion from Red Black Tree

Graph-based DSA

  • Graph Data Structure
  • Spanning Tree
  • Strongly Connected Components
  • Adjacency Matrix
  • Adjacency List
  • DFS Algorithm
  • Breadth-first Search
  • Bellman Ford’s Algorithm

Sorting and Searching Algorithms

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Merge Sort
  • Quick Sort
  • Counting Sort
  • Radix Sort
  • Bucket Sort
  • Heap Sort
  • Shell Sort
  • Linear Search
  • Binary Search

Greedy Algorithms

  • Greedy Algorithm
  • Ford-Fulkerson Algorithm
  • Dijkstra’s Algorithm
  • Kruskal’s Algorithm
  • Prim’s Algorithm
  • Huffman Code

Dynamic Programming

  • Dynamic Programming
  • Floyd Warshall Algorithm
  • Longest Common Subsequence

Other Algorithms

  • Backtracking Algorithm
  • Rabin-Karp Algorithm
%d bloggers like this: