Data Structures and Algorithms in C++

Recursion

  • understanding how Recursion works is very important in data structures when working with Merge Sort Algorithm and Trees

Recursion

Pointers and Memory in C++

  • Important Topic for both OOP and Data Structures and Algorithms
  • More notes and code in my OOP C++ Section

Sorting Algorithms

  • Sorting an Array in C/C++

Insertion Sort

Merge Sort

Bubble Sort

Binary Search

  • Very common questions asked in software engineering interviews

  • What is Binary Search?
  • How to implement Binary Search?
  • Find the first or last occurrence of a Number
  • Count Occurences of a numebr in a sorted array with duplicates
  • How Many times is a sorted Array Rotated?
  • Search Element in a Circular Sorted Array

Data Structures

Linear Data Structures

Stack and Queues

  • Array

Stack

Queue

includes:

  • Array Implementation
  • Linked List Implementation

Linked Lists

includes:

  • Insert Node at Beginning
  • Insert Node at nth position
  • Delete Node at nth position
  • Reverse a Linked List Iterative Method
  • Print Elements of Linked list in Forward and Reverse
  • Reverse a Linked Liest
  • Doubly Linked Lists
  • Circular Linked Lists

Non-Linear Data Structures

Trees

Binary Search Tree

Trees

  • General Description

BST Min and Max Value

BST Traversal

  • Breadth-First
  • Depth-First
    • Preoder
    • Postorder
    • Inorder

BST Height

BST Delete Node

BST Check if Acutally is a BST

AVL Trees

  • Coming Soon

Red-Black Tree

  • Coming Soon

Tries

Tries

Heaps

Binary Heap

Hash Tables

Hash Tables

Graph Theory

Graphs