# Data Structures and Algorithms

An exclusive live course with hands-on coding, covering each topic from scratch, implementing it throughly, and solving lots of coding problems from different coding platforms.

- Starting from July 31, 2022
- 9:00 pm to 11:30 pm IST on Weekends

### Description

Do you find yourself not getting any intuition behind the solution?

Do you find yourself feeling stuck everytime you look at a new problem?

Welcome to the Data Structures and Algorithms live course. This is a prime and begineer to intermediate level course aimed at providing an exclusive and top-notch learning experience. The course will cover entire Data Structures and Algorithms required for Software Engineering Interviews.

The program will have a blend of Live Classes happening on Weekends, 1:1 Mentorship Sessions, Teaching Assistant's Support and Assessments. The program is designed to be intense and crisp to accelerate learning.

### What will you be offered as a part of this course?

#### Cool Goodies

You will get an exciting pack of goodies inside a Laptop Bag.

#### 1:1 Mentorship

Live courses are a great way of connecting and mentoring. We will have eyes on each one of you.

#### Doubt Support (24x7)

Except our sleep ðŸ˜œ and important meetings, we are always there for you to resolve your doubts instantly.

#### Strong Community

You will be surrounded by the people who are working at FAANG, other big MNCs, and startups.

#### Mock Interviews

You will be interviewed by the industry experts who are working in companies like Amazon, ShareChat, Flipkart, Goldman Sachs, etc

#### Certificate

You will recieve certificate upon completion of the course. You will be able to download it from our website later.

About the course

Meet your Instructors

Analysis of Algorithms

Asymtotic Notations (Big-O, Omega, Theta)

Time analysis through problems (Iterative and Recursive)

Space analysis through problems (Iterative and Recursive)

Practice Problems

Factorial and Fibonacci

GCD & LCM

Prime Numbers & Sieve of Eratosthenes

Prime Factors

Palindrome Numbers and Armstrong Numbers

Practice Problems

Bitwise Operators

Odd Even Bits

Get, Set, Clear, Update ith Bit

Clear Range of Bits

Count Bits

Understanding Bits Through Coding Problems

Practice Problems

Static and Dynamic Arrays

Operations on Arrays and Strings

Coding Problems

Practice Problems

Linear Search

Binary Search

Diving deep into Binary Search Pattern

Practice Problems

Bubble Sort

Selection Sort

Insertion Sort

Merge Sort

Quick Sort

Heap Sort

Counting Sort

Radix Sort

Bucket Sort

Using in-built sort() function in different programming languages

Practice Problems

Introduction to Prefix Sum and its Use

Running Sum of 1d Array

Sum of All Odd Length Subarrays

Range Sum Query - Immutable

Practice Problems

Traversal (Row-wise, Column-wise, Spiral, Boundary, Snake)

Operations on Matrix (Addition, Subtraction, and Multiplication)

Transpose and Rotation

2-D Pattern Printing

Binary Search on Matrix

Practice Problems

Introduction to Hashing and its Applications

Hash Function

Collision Handling

Hashing Setup, Insertion, Re-hashing, Search, Erase

Coding Problems

Practice Problems

Introduction

Maximum Sum Subarray of Size K

Smallest Subarray With a Given Sum

Longest Substring with K Distinct Characters

No-Repeat Substring

Longest Substring with Same Letters after Replacement

Practice Problems

Introduction to Linked List

Difference between Array and Linked List with Applications

Types of Linked List

Operations on Singly Linked List (Insert, Delete, Search, Traverse)

Operations on Doubly Linked List (Insert, Delete, Search, Traverse)

Operations on Circular Linked List (Insert, Delete, Search, Traverse)

Reverse of a Linked List (Iterative and Recursive)

Merge Two Sorted Linked List (Iterative and Recursive)

Rotate List

Partition List

Merge k Sorted Lists

Copy List with Random Pointer

Reverse Nodes in k-Group

LRU Cache

Practice Problems

Introduction to Two Pointers

Pair With Target Sum

Remove Duplicates

Squaring a Sorted Array

Triplet Sum to Zero

Triplet Sum Close to Target

Triplets With Smaller Sum

Dutch National Flag Problem

Middle of Linked List

Loop Detection in a Linked List

Start of a Loop in a Linked List

Practice Problems

Introduction to Stack and its Applications

Design Stack Using Array (push(), pop(), and top())

Design Stack Using Linked List (push(), pop(), and top())

Understanding Stack Internally

Problems related to Infix, Postfix, and Prefix Expressions

Nearest Next Greater (or Smaller) Element to Right (or Left)

Stock Span Problem

Smallest Subsequence of Distinct Characters

Most Competitive Subsequence

Remove Duplicate Letters

Simplify Path

Max Area Histogram

Practice Problems

Introduction to Queue and its Applications

Implement Queue Using Array (enqueue() and dequeue())

Implement Queue Using Linked List (enqueue() and dequeue())

Queue Using Stack

Introduction to Circular Queue

Queue Using Stack

Introduction to Deque

Sliding Window Maximum (Minimum)

Practice Problems

Introduction to Recursion and its Applications

Diving Deeper into Recursion - Activation Records

Parameterized and Functional Recursion

Fibonacci Numbers

Power Function

Tiling Problem

Tower of Hanoi Problem

Practice Problems

Introduction to Binary Tree and its Applications

Implementing Binary Tree

Depth First Search

Preorder Traversal (Recursive and Iterative)

Inorder Traversal (Recursive and Iterative)

Postorder Traversal (Recursive and Iterative)

Height of a Binary Tree

Check if Binary Tree is balanced or not

Binary Tree Path Sum

All Paths for a Sum

Sum of Path Numbers

Path With Given Sequence

Breadth First Search (Level Order Traversal)

Reverse Level Order Traversal

Zigzag Traversal

Right (Left) View of a Binary Tree

Top (Bottom) View of a Binary Tree

Boundary Traversal of a Binary Tree

Least Common Ancestor (LCA) of a Binary Tree

Diameter of a Binary Tree

Burning Binary Tree

Nodes at a distance of K

Practice Problems

Insertion and Deletion in BST

Check for BST

Find Kth Smallest in a BST

Pair Sum With Given BST

Fix BST with Two Nodes Swapped

Ceiling of a Key in BST

Least Common Ancestor (LCA) in BST

Practice Problems

Introduction to Graph and its Applications

Graph Representation

Breadth First Search on Graph and its Applications

Depth First Search on Graph and its Applications

Cycle Detection

Topological Sorting

Dijkstra's Algorithm (Shortest Path Algorithm)

Bellman-Ford (Shortest Path Algorithm)

Floydd Warshall's Algorithm

Introduction to Spanning Tree (and Minimum Spanning Tree)

Prim's Algorithm for finding MST

Introduction to Disjoint Set (Union/Find)

Implement Disjoint Set (Union/Find)

Kruskal's Algorithm for finding MST

Connected Components (Kosaraju's Algorithm)

10+ Live Coding Problems

10+ Practice Problems

Introduction to Heap and its Applications

Understanding Heaps and Priority Queues

Insert in Min-Heap (Max-Heap)

Delete in Min-Heap (Max-Heap)

Understanding Top-K Pattern

Coding Problems

Practice Problems

Introduction to Greedy Algorithms and its Applications

Minimum Cost to Move Chips to The Same Position

Maximum Units on a Truck

Minimum Cost of Buying Candies With Discount

Practice Problems

Introduction to Backtracking and its Applications

Difference between Recursion and Backtracking

Generate all Balanced Parenthesis

Generate all Permutations of a String

Practice Problems

Introduction to Dynamic Programming and its Applications

Key Terminologies of Dynamic Programming

Understanding, How Recursion helps us build DP Solution?

Nth Tribonacci Numbers

Pascal's Triangle

Min Cost Climbing Stairs

Best Time to Buy and Sell Stock

Count Sorted Vowel Strings

Stone Game

0-1 Knapsack Problem

Subset Sum

Longest Common Subsequence

Unbounded Knapsack

Rod Cutting Problem

Coin Change Problem

Practice Problems

Mock Interview with Industry Experts

You should be comfortable with the basics of any one programming language (C++, Java, or Python).

- The course is live with 1:1 interaction.

- We have TA support (24x7) for your doubts.

- This is a complete package to crack product-based companies.

- You will get a chance to get a referral from our Alumni network.

- This is a complete hands-on coding course and not just theory.

We have Doubt Support for resolving your doubts. So, In case if you miss any class, you can approach your respective TA and get your doubts resolved. If the doubt is still not resolved, then your instructors will be there for you. There will be no recordings available.

Once you are enrolled in the course, you can attend the first two classes and decide whether you want to continue with the course or not. The fees is refundable only if you decide to leave the course in first two classes.

Yes, you can! This course is flexible and designed for weekends.

Yes, you will get a certificate.

These classes will happen on Zoom.

We will be providing the code in three languages i.e. C++, Java, and Python.

###### Course Details

## â‚¹ 7999/-

#### â‚¹ 10999/-

###### Registrations are closed.

- Starting from July 31, 2022
- 9:00 pm to 11:30 pm IST on Weekends
- 100+ Hours of Live Teaching
- Beginners to Intermediate

###### Meet your Instructors

Aakash is a passionate teacher and a great problem-solver. Currently, he is working with ShareChat as a Software Engineer and founded Innoskrit. He is an expert in Data Structures and Algorithms and known for his amazing teaching style that makes everyone fall in love with coding. He has taught more than 5000 students from different cities and colleges. He mainly prepare students for coding interviews and CSF rounds.

Prerna is a great problem-solver (DSA & CSF expert). She has done her Masters in Computer Science from IIIT Delhi. Currently, she is working with Qualcomm as a Software Engineer and founded Innoskrit. She has cracked GATE (CSE) 2019 and 2020 two times in a row and she is an expert in Computer Science Fundamentals. She mainly prepares students for Coding & CSF rounds.

###### Are you ready to take your career to the next level?

An exclusive live course with hands-on coding, covering each topic from scratch, implementing it throughly, and solving lots of coding problems from different platforms like Codechef, LeetCode, Codeforces, and InterviewBit.

Oops! Registrations Closed.### InnoSkrit Live

**Innoskrit Live** is started with a mission to provide the best recorded live top-notch learning experience with 1-1 mentorship. We teach how to figure out the pattern hidden in the problem, apply certain algorithm, and solve it. We wish to bring an ultimate learning experience for you.

©2022 Innoskrit. All rights reserved.