Rajsoni03 / Data-Structure-in-CPP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data Structure in C++

Array

  • Implement Array template class
  • Pointer to array
  • Implement find, indexAt methods
  • Implement Binary Search Algorithm
  • Copy Constructor & Copy Assignment
  • Move Constructor & Move Assignment
  • Operator Overloading
  • Use STL Array

Vector

  • Implement Vector Template Class
  • Dynemic Memory Management in Heap
  • Implement push_back() & push_front()
  • Implement pop_back() & pop_front()
  • Vector Scaling Algorithms
    • Increase Capacity by 1
    • Increase Capacity by BLOCK_SIZE - 2, 4, 8, 16
    • Increase Capacity by Double the Capacity
  • Time & Space Complexity
  • Use STL Vector

Linked List

  • Implement Singly LinkedList Template Class
  • Use nested Node class
  • Implement insertion methods
    • push_front()
    • push_back()
    • push_at()
  • Implement deletion methods
    • pop_front()
    • pop_back()
    • pop_at()
    • earse()
  • Struct based Implementation of Linked List
  • Fetch N th element and overload operator[]
  • Implement Linear Search
  • Reverse the Linked List
    • With new Node
    • Stack Based
    • Inplace with 3 pointers
  • Fetch N th element from last of Linked List
  • loop detection in singly Linked List
    • Using set
    • Flyod's Algorithm
  • Create Doubly LinkedList Template Class
  • Implement push_front(), push_back() and push_at()
  • Implement pop_front(), pop_back() and pop_at()

Tree

  • Implementing Binery Tree using Node Class
  • Recursive Traversal
    • Inorder Traversal
    • Preorder Traversal
    • Postorder Traversal
  • Check if Two Trees Are Same
  • Convert to Mirror Tree
  • Check if Two Trees Are Mirror
  • Iterative Traversal
    • Inorder Traversal
    • Preorder Traversal
    • Postorder Traversal
  • Dapth/Hight of The Tree
    • Max Depth
    • Min Depth
  • Flatten Binary Tree to Linked List

Algorithms

  • Recursion
    • Print Number Series
    • Sum of Numbers
    • Factorial of number
    • Digit Sum
    • Fibonacci Series
    • All Pattern Printing

Dynamic Programming

  • 1D DP
    • Fibonacci Series
    • Frog Jump
    • Min Cost Climbing Stairs
  • DP on String
    • Longest Common Substring

Design Patterns

  • Singletan

About


Languages

Language:C++ 100.0%