Keep Calm and Study On - Unlock Your Success - Use #TOGETHER for 30% discount at Checkout

Data Structures and Algorithms Online Course

Data Structures and Algorithms: The Complete Masterclass

With the knowledge of data structures and algorithms at your fingertips, you can write efficient computer programs to solve real-world problems. This course will help you to get up and running with data structures and algorithms in no time.

The course starts by explaining the concepts of complexity analysis and big O notation. Next, you will become familiar with the concepts of memory and logarithms. Moving along, you will get a solid understanding of data structure concepts, such as arrays, linked lists, stacks, queues, hash tables, trees, heaps, and graphs. Next, you will understand what recursion is and get to grips with a variety of basic and advanced algorithms, such as searching, sorting elementary, sorting advanced, tree traversal, and graph traversal. Towards the end, you will go through a set of interview questions that will enhance your knowledge of data structures and algorithms and prepare you for job interviews.


By the end of this course, you will have gained exceptional knowledge of data structure and algorithms and will have developed skills to apply in the real world.


Course Curriculum

Course Introduction

  • Course Introduction
  • Curriculum Walkthrough

Big O Notation

  • Section Introduction
  • Complexity Analysis
  • Why We Need Big O Notation?
  • Big O(n) Complexity
  • Big O(1) Complexity
  • Counting Operations
  • Simplifying Big O - Part 1
  • Big O(n^2) Complexity
  • Simplifying Big O - Part 2
  • Big O(n!) Complexity
  • Space Complexity – Part 1
  • Space Complexity – Part 2
  • Section Summary

Essential Concepts - I

  • Memory
  • Logarithm

Data Structure - Introduction

  • Introduction to Data Structures

Data Structure - Arrays

  • Array Introduction
  • Array - Common Operations – Part 1
  • Array - Common Operations – Part 2
  • Static versus Dynamic Array - Common Operations – Part 3

Data Structures – Linked Lists

  • Linked Lists
  • Linked List Complexities
  • Doubly Linked List
  • Circular Linked List and Implementing a Linked List

Data Structures – Stack and Queue

  • Stack and Queue

Data Structures – Hash Tables

  • Hash Tables

Data Structures - Trees

  • Trees - Part 1
  • Trees - Part 2
  • Binary Tree
  • Binary Search Tree
  • Adelson-Vekskii Landis (AVL) Trees versus Red Black Trees

Data Structures – Heaps

  • Heaps
  • Heap Sort and Priority Queues

Data Structures – Tries

  • Trie - I
  • Trie - II
  • Why Are Tries Important?

Data Structures – Graphs

  • Graphs

Essential Concepts - II

  • What is Recursion?
  • Recursion: Control of a Function – Part 1
  • Recursion: Tracing Tree – Part 2
  • Recursion: Understanding a Call Stack – Part 3
  • Recursion: Tree Recursion – Part 4
  • Recursion Example - Factorial of a Number

Algorithm: Searching

  • Linear Search
  • Binary Search
  • Binary Search Complexity
  • Implementing Binary Search – Part 1
  • Implementing Binary Search Implementation – Recursion – Part 2

Algorithm: Sorting Elementary

  • Sorting Algorithm – Introduction
  • Bubble Sort
  • Bubble Sort Visualization
  • Implementing Bubble Sort
  • Bubble Sort Complexity
  • Selection Sort
  • Selection Sort Visualization
  • Implementing Selection Sort
  • Selection Sort Complexity
  • Insertion Sort
  • Implementing Insertion Sort
  • Insertion Sort Complexity
  • Performance Analysis

Algorithm: Sorting Advanced

  • Quick Sort
  • Quick Sort Complexity
  • Implementing Quicksort
  • Merge Sort
  • Merge Sort Complexity
  • Implementing Merge Sort

Algorithm: Tree Traversals

  • Tree Traversal
  • Depth-first Search – (Preorder, Inorder, and Postorder)
  • Implementing a Binary Tree
  • Implementing Depth-first Search
  • Depth-first Search Complexity
  • Breadth-first Search - Level Order
  • Implementing Breadth-first Search
  • Breadth-first Search Complexity

Algorithms: Graph Traversal

  • Graph Traversal
  • Implementing Graph Animation
  • Implementing Breadth-first Search
  • Implementing Depth-first Search
  • Graph Traversal Complexity

Implementations and Interview Questions

  • Implementing Data Structures
  • Problem Solving Approach

Question 1: Two Sum

  • Two Sum

Question 2: Min Stack

  • Min Stacks
  • Implementing a Min Stack

Question 3: Max Stack

  • Max Stacks

Question 4: Design of a Linked List

  • Designing a Linked List – Part I
  • Designing a Linked List – Part 2
  • Designing a Linked List – Part 3
  • Designing a Linked List – Part 4

Question 5: Reserve Linked List

  • Reversing Linked List - I
  • Reversing Linked List - II

Question 6: Constructing a Binary Tree

  • Traversal (Preorder, Inorder, and Postorder)
  • Constructing a Binary Tree: From Preorder and Inorder Traversal – Part 1
  • Constructing a Binary Tree: From Preorder and Inorder Traversal – Part 2

Question 7: Invert Binary Tree

  • Invert Binary Tree – Part 1
  • Invert Binary Tree – Part 2

Constructing a Binary Search Tree: From Preorder Traversal – Part 1

  • Constructing a Binary Search Tree: From Preorder Traversal – Part 2

Question 9: Detect Capital

  • Detect Capital

Question 10: Reverse Strings

  • Reverse Strings

Question 11: Longest Palindromic Substring

  • Longest Palindromic Substring – Part 1
  • Longest Palindromic Substring – Part 2

Tags: Data Structures and Algorithms Online Course