Cpp Data Structures Algorithms Prateek Narang

Master core computer science concepts by mastering data structures, algorithms & problem solving using C++

Last updated 2022-01-10 | 4.5

- Core concepts & internals of Data Structures
- Trees
- Linked Lists
- Heaps
- Graphs
- Build all data structures from scratch

What you'll learn

Core concepts & internals of Data Structures
Trees
Linked Lists
Heaps
Graphs
Build all data structures from scratch
Object Oriented Programming Basics
Brute Force & Optimisation Techniques
Space Time Complexity Analysis
Hash Functions
Collision Handling
Recursion & Backtracking
Dynamic Memory & Pointers
Create your own DS library!
C++ Standard Template Library Basics
Project - Design & Implement Shopping Cart

* Requirements

* Familiarity with any one programming language
* Ability to understand & write code (preferably C/C++)
* Understanding of Loops
* Variables
* Conditional Statements

Description

  • Core concepts & internals of Data Structures
  • Trees, Linked Lists, Heaps, Graphs
  • Build all data structures from scratch
  • Object Oriented Programming Basics
  • Brute Force & Optimisation Techniques
  • Space Time Complexity Analysis
  • Hash Functions, Collision Handling
  • Recursion & Backtracking
  • Dynamic Memory & Pointers
  • Create your own DS library!
  • C++ Standard Template Library Basics
  • Project - Design & Implement Shopping Cart

Course content

24 sections • 317 lectures

Course Orientation! Preview 09:17

Get maximum out of this course? Preview 06:02

TA Hours/ Doubt Support Preview 01:20

C++ Code Repository Preview 00:02

Java Code Repository Preview 00:04

Exercise Solutions Preview 00:04

Array Introduction Preview 08:02

Arrays - Input, Ouput, Update Preview 06:06

Arrays & Functions - Pass by Reference Preview 08:32

A Note about Space Time Complexity! Preview 00:10

Linear Search Preview 05:49

Binary Search Preview 08:00

Binary Search Code Preview 06:28

Array Reverse Preview 04:46

Printing Pairs Preview 05:39

Printing Subarrays Preview 06:27

Subarray Sum - I (Brute Force) Preview 04:47

Subarray Sum - II (Prefix Sums) Preview 08:18

Subarray Sum - III (Kadane's Algorithm) Preview 06:24

A Note about Coding Exercises! Preview 00:26

Vectors Introduction Preview 04:16

Vectors (Demo) Preview 05:24

Online IDE Preview 00:07

Largest Element

Maximum Subarray Sum

Lower Bound

Sorted Pair Sum

K-Rotate

Sorting Introduction Preview 01:34

Bubble Sort Preview 09:03

Bubble Sort Code Preview 03:42

Optimized Bubble Sort

Insertion Sort Preview 05:02

Insertion Sort Code Preview 05:59

Selection Sort Preview 02:46

Selection Sort Code Preview 05:40

Inbuilt Sort & Comparators Preview 09:15

Counting Sort Preview 04:34

Counting Sort Code Preview 07:33

Sorting with Comparator

Sorting Cartesian Points

Chopsticks

Defense Kingdom

Character Arrays Introduction Preview 06:48

Using cin.get() Preview 13:04

Digits & Spaces Preview 05:30

Using cin.getline() Preview 05:26

Shortest Path Preview 07:14

String Copy, Compare, Concat! Preview 04:33

Solution : Largest String Preview 07:54

Check Palindrome

Note : String Class Preview 00:23

String Class Preview 06:11

String Compression

Run Length Encoding Preview 05:43

Are Permutation

Remove Duplicates

Vowel Find

Binary String to Number

Introduction to 2D Arrays Preview 08:06

2D Array Basics Preview 08:40

2D Character Arrays Preview 04:35

Spiral Print Preview 16:20

Wave Print!

Sorted Array Search Preview 04:56

Sorted Array Search Code Preview 05:21

Mango Trees Preview 16:54

Pascal's Triangle

Submatrix Sum

Address of Operator Preview 05:23

Pointers Preview 06:29

Dereference Operator Preview 05:01

Reference Variables Preview 04:59

Pass by Reference - Reference Variable Preview 05:43

Pass by Reference - Pointers Preview 04:54

Dynamic Memory Allocation Preview 10:59

Using New & Delete Preview 04:21

2D Dynamic Array Preview 08:47

Vector Preview 06:06

Vectors - How they grow? Preview 06:23

Using Vector Container Preview 05:24

2D Vector using STL Preview 03:04

Vector Class - I Preview 07:39

Vector Class - II Preview 06:27

Vector Class - III Preview 09:25

Header Files & Template Classes Preview 06:49

Inbuilt Searching Preview 07:38

Sorting a Complex Vector! Preview 04:26

Sorting Cabs!

Sort Fruits!

Rotate Image

Make Zeroes

Bitwise Operators Preview 09:54

Left Shift & Right Shift Preview 04:21

Odd Even Preview 03:16

Get ith Bit Preview 03:55

Clear ith Bit Preview 02:42

Set ith Bit Preview 02:30

Update ith Bit Preview 04:48

Clear Last i Bits Preview 03:54

Clear Range of Bits Preview 06:09

Replace Bits Preview 04:57

Two Power Preview 02:52

Count Bits Preview 04:18

Count Bits - Hack Preview 03:15

Fast Exponentiation Preview 08:11

Make it Binary! Preview 04:13

Xoring

Modulo Exponentiation

Earth Levels!

Subset Sum Queries

Recursion Introduction Preview 10:22

Factorial Preview 07:49

Fibonacci Series Preview 11:02

Sorted Array Check! Preview 09:50

Understanding Recursion Directions Preview 07:24

First Occurence Preview 04:57

First Occurence Code Preview 05:10

Last Occurence Preview 04:22

Last Occurence Code Preview 03:47

All Occurence!

Print Increasing Numbers

Power Function Preview 03:37

Power Function Optimised Preview 04:53

Bubble Sort Preview 10:27

Number Spell Preview 06:17

Tiling Problem!

Tiling Problem Solution Preview 06:46

Binary Strings!

Binary Strings Solution Preview 07:12

Friends' Party!

Friend's Party Solution Preview 06:11

Merge Sort Preview 04:28

Merge Sort Code Preview 12:41

Quick Sort Preview 10:11

Quick Sort Code Preview 06:27

Binary Search using Recursion!

Rotate Array Search Preview 08:38

Rotated Search Code Preview 06:08

2D Array Merge

Backtracking Introduction Preview 04:27

Backtracking on Arrays Code Preview 08:34

Bactracking on Vectors Code Preview 04:14

Finding Subsets Preview 13:03

Finding Subsets Code Preview 07:28

Ordering Subsets Preview 06:27

Permutations Preview 10:51

N-Queen Problem Preview 11:53

N-Queen Code Preview 15:58

N-Queen All Ways Preview 14:57

Grid Ways Preview 11:17

Grid Ways - Math Trick! Preview 03:33

Sudoku Preview 10:40

Sudoku Code Preview 18:29

N-Queen Ways

Rat and Mice

Word Break Problem

Unique Subset

Word Search

Space Time Complexity Introduction Preview 07:40

Experimental Analysis Preview 09:09

Big O Notation Preview 04:36

Nested Loops Preview 02:34

Loops Example Preview 02:49

Analysis of Bubble Sort Preview 03:42

Analysis of Binary Search Preview 07:26

Merge Sort Analysis Preview 05:47

Time Complexity For Recursive Problems Preview 09:14

Introduction to OOPS Preview 08:23

OOPS - Classes & Objects Preview 05:51

Code Demo Preview 05:52

Getters & Setters Preview 05:38

Constructor / Object Initialiastion Preview 06:50

Copy Constructor Preview 09:29

Shallow & Deep Copy Preview 12:06

Copy Assignment Operator Preview 05:48

Destructor Preview 04:38

Shopping Cart using OOPS Preview 00:11

Linked List Introduction Preview 08:07

Push Front Preview 08:21

Push Back Preview 02:04

Print Preview 06:49

Insert Preview 04:12

Search Preview 05:45

Recursive Search Preview 04:47

Deletion Preview 05:03

Pop Front Preview 05:24

Delete Tail

Reverse a Linked List Preview 04:43

Reverse a Linked List Code Preview 08:15

Kth Last Element

Alternate Merge

Bubble Sort on Linked List

Stack Data Structure Preview 04:46

Stack Implementations Preview 04:22

Stack using Linked List Preview 08:16

Stack using Vector Preview 03:21

Stack STL Preview 03:07

Stack Insert At Bottom Challenge! Preview 06:39

Recursively Reverse a Stack Preview 04:58

Reverse a number using stack

Stock Span Problem

Stock Span Solution Preview 14:35

Next Greater Element

Duplicate Parentheses

Maximum Rectangular Area in Histogram

Queue Introduction Preview 04:51

Queue Implementation Preview 06:05

Queue using Circular Array Preview 11:32

Queue STL Preview 01:29

Stack using 2 Queues Preview 03:53

Stack using 2 Queues Code Preview 09:04

First Non-Repeating Letter

Interleave two halves of a queue

Binary Tree Introduction Preview 07:12

Build Tree Preorder Preview 07:38

Preorder Traversal Preview 06:42

Inorder Traversal Preview 03:31

Postorder Traversal Preview 04:48

Level Order Print Preview 09:19

Level Order Print Code Preview 06:14

Level Order Build Preview 06:32

Level Order Build Code Preview 04:43

Height of Tree Preview 03:15

K-th Level

Sum of Nodes

Tree Diameter Preview 09:14

Diameter Code-I Preview 02:43

Diameter Code-II Preview 11:13

Min Depth

Symmetric Tree

Expression Tree

Remove Half Nodes

Target Path Sum

BST Introduction Preview 07:21

BST Creation Preview 07:49

Note! Preview 00:11

Searching Preview 04:12

Deletion Concept Preview 06:48

Deletion Code Preview 10:20

Challenge - Print in Range Preview 05:08

Root To Leaf Paths Preview 08:17

Mirror a BST

IsBST?

Delete in BST

Introduction to Heap Preview 07:41

Heap vs other Data Structure Preview 06:07

Heaps as CBT Preview 05:20

Heaps as Array Preview 08:09

Insertion Preview 06:56

Insertion Code Preview 08:51

Remove Min/ Max Preview 07:17

Remove Min/ Max Code Preview 10:18

Maximum Product

Priority Queue STL Preview 05:21

Nearby Cars Preview 08:10

Nearby Cars Code Preview 11:46

Reduced array size to half

Weakest Rows

Relative Ranks

Introduction to Hashing Preview 06:38

Hash Functions Preview 09:16

Collision Handling Preview 15:07

Hashing Code - I (Setup) Preview 07:13

Hashing Code - II (Insertion) Preview 09:21

Hashing Code - III (Rehashing) Preview 12:15

Testing our Hashtable Preview 05:52

Hashing Code - IV (Search) Preview 05:21

Hashing Code - V (Erase) Preview 01:59

Hashing Code - VI (Operator [] Overloading) Preview 11:58

[Webinar] Unordered Maps & Unordered Sets Preview 00:01

Array Intersection!

K-Sum Subarray

Trie Data Structure Preview 15:15

Trie Class Preview 03:57

Trie Insertion Preview 04:05

Trie Searching Preview 03:14

Trie Queries Preview 04:43

Prefix Strings

Graphs Introduction Preview 12:04

Graph Applications Preview 05:48

Adjacency List Representation Preview 08:42

Adjacency List Representation with Node Class Preview 09:08

BFS Preview 06:43

BFS Code Preview 07:15

DFS Preview 04:18

DFS Code Preview 05:40

Topological Ordering Preview 04:34

Kahn's Algorithm (Modified BFS) Preview 04:50

Topological Ordering using BFS Code Preview 05:55

Dijkshtra's Algorithm Preview 09:11

Dijkshtra's Algorithm Code Preview 14:53

KEYS AND ROOMS

All Paths From Source to Target

Find Star in the graph

Dynamic Programming Basics Preview 16:49

Coin Change Preview 11:44

Coin Change Code Preview 06:50

Longest Common Subsequence (LCS) Preview 06:46

Longest Common Subsequence Code Preview 02:44

Knapsack Problem Preview 11:11

Knapsack Problem Code Preview 08:46

Wines Problem Preview 06:32

Wines Problem - II Preview 06:21

Wines - III Preview 09:12

Wines - IV Preview 07:57

Coin Change

Vacation

Optimal Game Strategy

Minimum Partitioning

Shopping Cart Introduction Preview 05:52

Shopping Cart Demo Preview 05:53

Product Class Preview 06:02

Item Class Preview 07:17

Choosing Products Preview 10:39

Cart Implementation Preview 14:58

Checkout Preview 05:54