5.00 (1 reviews)

Regular Price

SKILLSHARE

What you will learn

☑ Coding Interview Preparation

☑ Data Structure & Algorithms

Description

This course will help you crack coding rounds and whiteboard coding rounds for IT companies. This is the only course with a special focus on problem-solving and visualization apart from theory for the most common data structures.

As a part of this course we will be covering each of the topics in two steps :

1. First we will understand the theory for each of the data structure and problem-solving technique.

2. Secondly, we will practice a lot of problems based on those topics. The goal is to build your thought process so that you are also able to solve new problems asked in interviews.

The whole course consists of more than 120 lectures divided across 12+ sections with the content updated periodically to reflect the latest industry trends and problems. We are going to be covering multiple different data structures like Arrays, Linked List, Stacks, Queues, Hash Table, Deque, Binary Search Tree, Tree, Heaps, Graphs, Disjoint Set Data Structure etc.

Apart from that, we are covering algorithms and problem-solving techniques like Binary search, binary search over range, binary search over partial sorted range, sliding window method, Two pointer method, greedy algorithms, dynamic programming, backtracking, bitmagic etc.

With over 22 hours of content + working code samples in 3 languages (Python, C++ & Java), this is the biggest and the most comprehensive course you will ever find anywhere and will certainly help you in cracking interviews.

With this course, you don't need anything else for interview preparation.

Screenshots

Content

Algorithm Analysis

What is Algorithm Analysis ?

How do we analyze algorithms ?

What is Big-O Notation (with examples)

Types Of Time Complexities

Time Complexity Example #1

Time Complexity Example #2

Time Complexity Example #3 (Logarithmic)

Time Complexity Example #4 (Nested Loops)

What is space complexity ?

Space Complexity Example #1

Space Complexity Example #2 (Recursive)

Arrays

How do arrays work ?

How do resizable arrays works?

Linked Lists

Linked List - Insertion At Top

Linked List - Insertion At End

Linked List - Deletion At Top

Linked List - Deletion At End

Linked List - Two Pointer Approach #1

Linked List - Two Pointer Approach #2

Linked List - Two Pointer Approach #3

Hash Tables

What is a hash table ?

Advantages Of Hash Table

Hash Table In Python

How is hash table implemented ?

Example Problem #1

Collision Resolution

Example Problem #2 - Theory

Example Problem #2 - Implementation

Stacks

What is a stack ?

Stack Simple Problem

Stack Implementation As An Array

Stack Implementation As a Linked List

Applications Of Stack

Application #1 Evaluating Postfix Expressions

Application #2 Evaluating Prefix Expressions

Application #3 Converting Infix To Postfix/Prefix Expressions

Stack Problem #4

Stack Problem #5

Queue

What is queue ?

Types Of Queue

Queue Example Problem #1

Dequeue Example Problem #1

Sliding Window & Two Pointer Method

Sliding Window Method

Example Problem #1

Two Pointer Example #1

Two Pointer Example #2

Two Pointer Example #3

Binary Search

What is binary search ?

Binary Search Implementation

Binary Search Variations

Binary Search Problem #1 (Lower Bound & Upper Bound)

Binary Search Problem #2

Binary Search Over Range Example #1

Binary Search Over Range Example #2

Binary Search Over Range Example #3

Binary Search Over Partial Sorting

Binary Search Over Range Example #4

Trees

What are trees ?

Terms related to trees

Types Of Trees

Height Balanced Binary Tree

Level Order Traversal

Level Order Traversal - Implementation

Pre Order Traversal

Pre Order Traversal - Implementation

Post Order Traversal

Post Order Traversal - Implementation

Tree Traversal Analysis

How to solve tree problems (Example #1) ?

Tree Problem Example #2

Tree Problem Example #3

Tree Problem Example #4

Tree Problem Example #5

Heaps

What are heaps and why are they used ?

Why are heaps complete binary tree ?

Array implementation of heaps

Heap Insertion

Heap Deletion

Heapify

Using Heaps In Python

Heap Problem #1

Heap Problem #2

Binary Search Tree

Binary Search Tree & Its Applications

Height Balanced BST

BST Insertion

Inorder Successor & Predecessor

BST Deletion

BST Problem #1

BST Problem #2

BST Problem #3

Dynamic Programming

What is dynamic programming ?

Dynamic Programming Implementation Example

Top Down Dynamic Programming v/s Bottom up Dynamic Programming

Example Problem #1 Jump Game

Example Problem #2 Coin Change Problem

Example Problem #3 House Robber

Example Problem #4 Integer Break

Example Problem #5 - Longest Increasing Subsequence

Example Problem #6 - Rod Cutting Problem

Example Problem #7 Edit Distance

Example Problem #5 Longest Common Subsequence

Example Problem #9 - Longest Palindromic Subsequence

Greedy Algorithms

What are greedy algorithms ?

Greedy Algorithm Example #1 (Fractional Knapsack)

Greedy Algorithm Example #2 (Activity Selection)

Graphs

Graphs Introduction

Types Of Graphs

Graphs, Forests & Trees

Connected Components & Subgraphs

Graph Implementation - Adjacency Matrix

Graph Implementation - Adjacency List

Graph Traversal

DFS Application #1 - Detecting Cycle In A Graph

Topological Sorting

Topological Sorting Implementation

Topological Sorting Example #1

Shortest Path Problem

Single Source Shortest Path Problem

Backtracking

What is backtracking ?

Backtracking Example #1

Backtracking Example #2

Backtracking Example #3

Backtracking Example #4

Bit Magic & BitMasking

Bit Magic - Common Operators

Bit Magic - Problem #1

Bit Magic - Problem #2

Bit Magic - Problem #3

What is bitmask ?

Bitmask Fundamental Operations - Adding To Set

Fundamental Operation #2 - Checking If An Element Is In Set

Fundamental Operation #3 - Removing From Set

Fundamental Operation #4 - Toggling An Element In Set

Bot

Course Submitted by