DSA Basics To Advanced: Learn, Analyze, Implement Data Structures and Algorithms using Java and Python With Interview Questions

What will i learn?

- Logical thinking
- Learn the strengths and weaknesses of a variety of data structures, so you can choose the best data structure for your data and applications
- Code an implementation of each data structure, so you understand how they work under the covers
- Gain Confidence for Coding Interviews

Curriculum for this course

128 Lessons
30:28:19 Hours

Introduction to Data Structure & Algorithms

10 Lessons
02:39:33 Hours

- Introduction to Data Structure Preview 00:29:17
- What is DSA 00:10:15
- Analysis Of Algorithm 00:17:11
- Time Complexity Part-1 00:14:03
- Time Complexity Part-2 00:22:13
- Time Complexity Part-3 00:16:47
- Time Complexity Part-4 00:09:36
- Time Complexity Part-5 00:16:59
- Asymptotic Analysis 00:18:05
- Space Complexity 00:05:07

Recursion

14 Lessons
02:17:58 Hours

- What is Recursion 00:07:53
- Recursion Example 00:15:18
- Iteration vs Recursion 00:11:04
- How Recursion Works Internally 00:09:47
- Recursion Call in Different Way 00:07:36
- Time Complexity in Recursion 00:22:06
- Types of Recursion 00:06:23
- Use of Recursion 00:07:55
- Tree Recursion 00:08:00
- Sum of N Natural Numbers 00:13:02
- Sum of N Natural Numbers Using Java 00:07:23
- Sum of N Natural Numbers Using Python 00:07:03
- Find Factorial Using Recursion 00:12:04
- Find Factorial Using Recursion In Java 00:02:24

Array

13 Lessons
02:12:25 Hours

- What and Why of Array 00:10:15
- Types of Array 00:12:29
- Create An Array 00:09:53
- 1D Array Time Complexity 00:13:56
- Traversing in Single Dimensional Array 00:18:42
- Insertion in a Single Dimensional Array 00:16:06
- Accessing an Element from An Array 00:13:06
- Time & Space Complexity of 1D Array 00:07:19
- Creating 2D Array 00:09:54
- Inserting a Value in 2D Array 00:04:42
- Traversing a 2D Array 00:07:09
- Time & Space Complexity of 2D Array 00:04:43
- When to Use & Avoid Array 00:04:11

Searching

12 Lessons
02:01:07 Hours

- Linear Search Part-1 00:13:49
- Linear Search Part-2 00:06:06
- Binary Search Introduction 00:16:13
- Binary Search Iterative Approach 00:16:15
- Binary Search Recursive approah part-1 00:10:53
- Binary Search Recursive approach part-2 00:04:05
- Time Complexity of Binary Search Recursive approach 00:16:05
- Index of First Occurrence Naïve Solution 00:06:33
- Index of First occurrence Efficient Solution 00:09:11
- Index of Last occurrence Naïve Solution 00:04:58
- Index of Last Occurrence Efficient Solution 00:09:38
- Count Occurrences in a Sorted Array 00:07:21

LinkList Part-1

20 Lessons
06:11:12 Hours

- Session-1 00:58:10
- Session-2 00:41:14
- Session-3 00:48:54
- Session-4 00:47:56
- Introduction To Link List 00:11:08
- Components of Link List 00:03:53
- Types of Link List 00:06:51
- Why so Many Types of Link List 00:07:24
- How LinkList is Stored in Memory 00:03:14
- Why Do We Use Link List 00:10:10
- How to create Node in a Link List 00:13:41
- Singly Link List Example 00:10:11
- Singly Link List Time Complexity 00:10:47
- Singly Link List Example In Java 00:30:35
- Recap of Singly Link List 00:12:00
- Single Link List Search Operation 00:11:03
- Insert Element at the Beginning of Single Link List 00:07:24
- Delete Element at Beginning of Single List 00:13:07
- Delete Element at End of Single List 00:12:28
- Delete Element at Any Position 00:11:02

LinkList Part-2

12 Lessons
02:54:09 Hours

- Introduction To Circular Link List 00:32:25
- Insert Element at the Beginning of Circular Link List 00:09:44
- Insert Element Anywhere in Circular Link List 00:10:04
- Delete Element at Beginning of Circular List 00:08:34
- Delete Element at End of Circular List 00:12:38
- Delete Element at Any Position In Circular List 00:07:37
- Introduction to Double Link List 00:14:36
- Insert Element in the Double Link List 00:22:19
- Delete Element From the Double Link List 00:17:02
- Circular Link List in Java Part-1 00:14:59
- Circular Link List in Java Part-2 00:10:33
- Doubly Link List In Java 00:13:38

Stack

5 Lessons
01:14:47 Hours

- What is Stack 00:14:55
- Stack Implementation Using Array 00:14:40
- Stack Implementation Using Link List 00:20:18
- Stack Implementation Using Array in Java 00:13:10
- Stack Implementation Using Link List in Java 00:11:44

Queue

6 Lessons
01:40:37 Hours

- Queue Part-1 In Python 00:22:03
- Queue Part-2 In Python 00:15:05
- Queue in Java Part-1 00:24:12
- Queue in Java Part-2 00:11:18
- What is DEQue 00:17:21
- DEQue Implementation 00:10:38

Binary Trees

12 Lessons
03:21:45 Hours

- Introduction To Tree 00:10:19
- Tree Part-1 00:26:03
- Binary Tree Array and Link List Representation 00:16:00
- Traversing Binary Tree 00:16:31
- Easy Way of Remembering Traversal 00:03:52
- How to Create Node of Binary Tree 00:08:09
- Binary Tree Implementation Part-1 00:24:33
- Binary Tree Implementation Part-2 00:24:49
- Binary Tree Implementation Part-3 00:21:53
- Level Order Traversal In Binary Tree 00:16:21
- Count the Nodes in Binary Tree 00:19:45
- Height of a Binary Tree 00:13:30

Binary Search Trees

10 Lessons
02:41:32 Hours

- Binary Search Tree Introduction 00:05:56
- BST Iterative Insertion 00:34:47
- BST Recursive Insertion 00:28:31
- BST Iterative Search Implementation 00:11:36
- BST Deletion Introduction 00:12:18
- Delete Node Algorithm Explanation 00:12:18
- BST Leaf Node Deletion 00:17:50
- Node with 1 child Deletion 00:16:28
- Node with 2 children Deletion 00:16:16
- Performance & Problem With Binary Search Tree 00:05:32

AVL Tree

7 Lessons
01:34:37 Hours

- AVL Tree Introduction 00:21:38
- AVL Tree Rotations for Insertion 00:12:01
- Right Right Condition 00:08:18
- Left Left Condition 00:10:36
- Recap of AVL Rotations 00:11:57
- LR Rotation and RL Rotation 00:15:53
- AVL Tree Rotations after Deletion 00:14:14

Red Black Tree

7 Lessons
01:38:37 Hours

- Red Black Tree Introduction 00:13:42
- Red Black Reconstructing 00:13:31
- Red Black Tree Insertion Part-1 00:14:12
- Red Black Tree Insertion Part-2 00:14:52
- Red Black Tree Insertion Part-3 00:11:52
- Red Black Tree Deletion Part-1 00:11:00
- Red Black Tree Deletion Part-2 00:19:28

Requirements

- Laptop & Internet Connectivity

+ View more

Description

Welcome to** Data Structures and Algorithms - Coding Interview Bootcamp**,** **One single course to start your DSA journey as a **beginner step-by-step**. This course touches on each and every important topic through concept, visualization, and implementation. The entire course is designed for beginners with one goal in mind, to understand each and every concept from scratch with proper knowledge of their complexities and implementations in Java and Python.

Throughout the course, we will explore the most important **Data Structures and Algorithms** topics step-by-step:

**1. Essential Concepts**- Big O Notation

- Memory

- Logarithms

- Recursion

- Linked Lists (Singly Linked List, Doubly Linked List, Circular Linked List)

- Stacks

- Queues

- Hash Tables

- Trees (Binary Tree, Binary Search Tree, AVL Trees, Red-Black Trees)

- Heaps (Binary Heaps)

- Tries

- Graphs

**Why this course?**

Complete course is focused on concept learning approach, you learn every concept through a logical and visual learning approach.

Learn all important concepts in the simplest possible way with tons of

**examples**and**quizzes**.You just need basic Python knowledge, we will cover everything

**step-by-step from scratch**.

------------------**After completing this course you will be ready** to work as an Intern, Fresher, or Freelancer and you will also be able to implement everything yourself! Most importantly you will be ready to divide deep with future practice and hard level question of Data Structures.

Enroll now, I will make sure you learn best about **Data Structures and Algorithms**.

- Students (Computer Science / Non-Computer Science) who wants to learn Data Structures and Algorithms concepts from the scratch
- Anyone who wants to strengthen their problem-solving skills
- Students who are preparing for the interviews
- Anybody who wants to switch to a product based company
- Anyone who wants to refresh their Data Structures and Algorithms concepts

+ View more

Other related courses

About the instructor

**212**Reviews**12150**Students**23**Courses

+ View more

Java & Python Trainer

Myself DD Singh working as a trainer in Infomatics, involved in technical training for the last 16 years and trained lakhs of students. Worked as a Technical Trainer in multiple companies. Involved in Complete Java Training like Core Java, Advanced Java, Hibernate, Spring etc, Full stack Python Training, Java Certification Training. Owner of youtube channel : DD Singh. Very passionate about learning new technologies.

Student feedback

Reviews

## Write a public review