Course Preview

# Data Structures and Algorithms Course

Self Paced Course

Video Course

Quick Notes

Hands-on Labs

## Data Structures and Algorithms Course Overview

The Data Structures and Algorithms Course is tailored for individuals in the software engineering field who aspire to elevate their careers by securing interviews with some of the world's most prestigious companies. This program is meticulously designed to equip you for these crucial interviews, covering a comprehensive range of skills, from problem-solving techniques to coding proficiency. You'll gain invaluable hands-on experience by tackling over 100 data structures and algorithm problems. The course commences with problem-solving exercises related to each data structure and algorithm, preparing you thoroughly for interviews with top-tier product-based companies such as Meta, Microsoft, Amazon, Adobe, Netflix, and Google.

#### DSA Course objectives

Participants in this training will learn data structures and algorithms course and at the completion of this course, attendees will be able to:

1. Identify techniques to design algorithms and measure their efficiency.
2. Sort data by using bubble sort, selection sort, insertion sort, shell sort, quick sort, and merge sort.
3. Search data by using linear search and binary search techniques.
4. Store and search data using hashing.
5. Solve problems using arrays, lists, linked lists, queues, and stacks.
6. Solve problems using non-leaner data structures like trees, and graphs.

## Tools and Technologies Covered

Arrays
Big-O
Complexity Analysis
Stack
Queue
Tree
Graph
VS Code IDE

## Included in this Data Structures and Algorithms Course

•   Video Course 122 Videos
•   Quick Notes 35 Notes
•   Labs 81 labs

DSA and Big O

Data Structure Introduction Preview 0h 04m 32s
Non-Linear Data Structure 0h 09m 25s
Asymptotic analysis 0h 14m 31s
Asymptotic Explanation 0h 20m 23s

Array

Array Introduction 0h 09m 58s
Array Traversal 0h 10m 46s
Array insert data 0h 06m 21s
Array Bound Checking 0h 16m 52s
Array Insertion 0h 12m 35s
Deletion in Array 0h 07m 38s
2D array 0h 13m 47s
Array List Integer 0h 20m 47s

Array Questions

Array List String 0h 18m 17s
Storing Heterogeneous Element in array 0h 13m 20s
Array Question1 0h 41m 40s
Array Question2 0h 18m 48s
Sum Leet code 0h 19m 24s
buy and sell Stock leetcode 0h 10m 34s
Product of Array Except Self 0h 16m 56s
Container With Most Water 0h 19m 45s
Spiral Matrix 0h 30m 10s
Sudoku valid 0h 29m 36s

String

String Preview 0h 01m 00s
String literals 0h 09m 15s
Immutable String 0h 05m 33s
String Methods 0h 21m 33s
StringBuilder vs String Buffer 0h 04m 42s
String Builder and Buffer example 0h 11m 29s
Valid Palindrome 0h 08m 05s
Valid Anagram 0h 15m 23s
Longest Substring Without Repeating Characters 0h 17m 22s
Find All Anagrams in a String 0h 31m 07s
Largest Number 0h 19m 26s
Largest Number 1 0h 09m 06s

Linear Search

Linear search Preview 0h 01m 42s
Linear Search Implementation 0h 08m 04s
Linear Search Questions 0h 25m 56s

Binary Search

Binary Search 0h 01m 34s
Binary Search implementation 0h 12m 19s
First and Last Occurence 0h 23m 33s

Arrays Searching

Search in Rotated Sorted array 0h 19m 31s
Search in rotated Sorted Array 0h 10m 39s
Find Minimum in Rotated Sorted Array 0h 04m 59s

Bubble, Selection and Insertion Sort

Bubble Sort 0h 01m 28s
Bubble Sort Implementation 0h 07m 33s
Selection Sort 0h 02m 05s
Selection Sort Implementation 0h 07m 15s
Insertion Sort 0h 01m 06s
Insertion Sort implementation 0h 10m 18s

Merge, Quick and Counting Sort

Merge Sort 0h 09m 58s
Merge Sort Implementation 0h 20m 22s
Quick Sort 0h 08m 51s
Quick Sort Implementation 0h 08m 51s
Counting Sort 0h 02m 46s
Counting Sort Implementation 0h 17m 57s

Bucket, Find Kth Element and Find Pages

Bucket Sot 0h 01m 03s
Bucket Sort Implementation 0h 15m 47s
FindKthElement 0h 19m 26s
Kth largest element 0h 22m 27s
Find Pages 0h 09m 33s
Find Pages PART 2 0h 20m 01s
Theif problem 0h 13m 19s
Minimum swaps 0h 15m 06s

Hashing

Hashing Introduction Preview 0h 02m 35s
Hasing Function 0h 17m 35s
Hash map or Hash table 0h 18m 34s

Phonebook

Phonebook 1 0h 19m 01s
Phonebook 2 0h 02m 26s
Phonebook by HashMap 0h 13m 43s
HashMap different methods 0h 21m 13s
Symmetric pair Example 0h 14m 27s
First Unique Character 0h 13m 51s

Hash Set

HashSet Example 0h 12m 31s
Contiguous Integers in array 0h 16m 38s
Pair with given Sum 0h 07m 40s
Itinary fromticket 0h 30m 59s
Match Locks and Keys 0h 12m 34s

Stack

Stack 0h 03m 38s
Stack Implementation by library 0h 14m 58s
Stack Implementation using Array 0h 23m 16s
Stack Implementation using LinkedList 0h 22m 09s
Valid Parentheses 0h 16m 36s
Simplify Path 1 0h 12m 27s
Simplify path 2 0h 09m 27s
Evaluate Reverse Polish Notation 0h 25m 12s
Trapping Rainwater 0h 24m 04s
Longest valid Parentheses 0h 24m 13s
Basic Calculator 0h 26m 05s

Queue

Introduction to Queue Preview 0h 04m 49s
Queue Implementation 0h 13m 16s
Queue Implementation user defined function 0h 28m 12s
Implement Stack using Queues 0h 25m 32s
Implement Queue using Stack 0h 21m 23s
First Unique Character in a String 0h 26m 01s
First Unique Character in a String 0h 26m 01s
Reveal Cards in Increasing Order 0h 19m 32s
Find the Winner of the Circular Game 0h 17m 23s

Singly LinkedList Implementation 1h 10m 14s
Doubly linkedList Implementation 0h 54m 15s

Circular LinkedList 1 0h 02m 58s
Circular LinkedList implementation 0h 51m 31s
Linked List Cycle 0h 10m 34s
Linked List Cycle II 0h 21m 03s

Happy Numbers 0h 15m 50s
Middle of the Linked List 0h 07m 10s
Reverse Linked List 0h 13m 33s
Reverse Linked List II 0h 28m 35s
Reverse Nodes in k-Group 0h 23m 33s

Tree and Binary Tree

Introduction to Tree 0h 23m 00s
Binary Tree Traversal Whiteboard 0h 55m 45s
Traversal DFS 0h 38m 15s
Tree Traversal BFS 0h 16m 01s
Max Min Search SumofLeafNodes 0h 26m 02s
White Board Explanation of Max,Min ,SumOfLeafNodes 0h 12m 14s
Mirror a Tree (Code) 0h 19m 36s
Spiral level Order traversal 1 0h 30m 50s
Spiral level Order traversal 2 0h 01m 33s
##### Quick NotesNotes (35)

Data Structures & Algorithms

00:05:00

Big O in Data Structure

00:06:00

Array in Data Structures

00:07:00

String in Data Structure

00:02:00

Linear Search in Data Structure

00:02:00

Binary Search in Data Structure

00:02:00

Bubble Sort in Data Structure

00:03:00

Selection Sort in Data Structure

00:02:00

Insertion Sort in Data Structure

00:03:00

Merge Sort in Data Structure

00:03:00

Quick Sort in Data Structure

00:02:00

Counting Sort in Data Structure

00:03:00

Bucket Sort in Data Structure

00:03:00

Heap Sort in Data Structure

00:04:00

Shell Sort in Data Structure

00:03:00

00:02:00

Hashing in Data Structure

00:04:00

HashMap in Data Structure

00:01:00

Hash Table in Data Structure

00:01:00

HashSet in Data Structure

00:01:00

Stack in Data Structure

00:04:00

Queue in Data Structure

00:04:00

00:03:00

Singly Linked List in Data Structure

00:02:00

Doubly Linked List in Data Structure

00:03:00

Circular Linked List in Data Structure

00:02:00

Trees in Data Structure

00:06:00

Binary Tree in Data Structure

00:05:00

Binary Search Tree in Data Structure

00:03:00

AVL Tree in Data Structure

00:05:00

B Tree in Data Structure

00:04:00

K-Dimensional Tree in Data Structures

00:04:00

Spanning Tree in Data Structures

00:05:00

Segment Tree in Data Structures

00:02:00

Suffix Array and Suffix Tree in Data Structures

00:04:00

##### Hands-On LabsLabs(81)

Java: Big-O-Binary Search Algorithm

00:15:00

Java: Count the frequency of an element in an Array

00:20:00

Java: Find all triplets with zero sum

00:20:00

00:20:00

Java: Meeting Rooms

00:25:00

Java: Merge Two Sorted Arrays

00:20:00

Java: Minimum Number of Jumps to Reach End in Array

00:25:00

Java: Move all Zeros to the beginning of an array

00:25:00

Java: Remove Duplicates from an Array

00:20:00

Java: Rotate a Matrix by 90 degrees

00:25:00

Java: Rotate an Array to the left

00:20:00

Java: Find the length of the largest subarray with 0 Sum

00:25:00

Java: Longest Increasing Consecutive Subsequence

00:25:00

Java: Find Whether an Array is a Subset of Another Array

00:20:00

Java: Camel Case of a given Sentence

00:20:00

Java: Count ways to increase LCS length of two Strings by one

00:25:00

Java: Minimum rotations required to get the same string

00:15:00

Java: Multiply Large Numbers represented as Strings

00:25:00

Java: Find Itinerary from a given list of tickets

00:25:00

Java: Two Sum

00:30:00

Java: Merge Sorted Arrays

00:25:00

Java: Search Insert Position

00:25:00

00:30:00

Java: Find Peak Element

00:30:00

Java: Search in Rotated Sorted Array

00:25:00

Java: 3 Sum

00:25:00

Java: Search a 2D Matrix

00:20:00

Java: Find Minimum in Rotated Sorted Array

00:25:00

Java: Find Minimum in Rotated Sorted Array II

00:35:00

Java: Ceiling in a Sorted Array

00:25:00

Java: Count 1’s in a Sorted Binary Array

00:20:00

Java: Find a Fixed Point (Value equal to Index) in given Array

00:25:00

Java: Search an Element in a Sorted and Rotated Array

00:30:00

Java: Two Elements whose Sum is Closest to Zero

00:30:00

Java: Search in an Almost Sorted Array

00:25:00

Java: Median of Two Sorted Arrays of Different Sizes

00:30:00

Java: A Pair with a Given Sum in the Rotated Sorted Array

00:25:00

Java: Sort Elements by Frequency

00:30:00

Java: Sort a Linked List of 0s, 1s and 2s

00:35:00

Java: Find Missing Elements of a Range

00:25:00

Java: Sort a Nearly Sorted (or K sorted) Array

00:20:00

Java: Chocolate Distribution Problem

00:30:00

Java: Minimum Swaps required to convert binary tree to binary search tree

00:30:00

Java: Count Distinct Occurrences as a Subsequence

00:30:00

Java: Sort a Matrix in all way Increasing Order

00:20:00

Java: Two Sum

00:30:00

Java: Contains Duplicate

00:20:00

Java: Longest Substring without Repeating Characters

00:30:00

Java: Group Anagrams

00:35:00

Java: Valid Sudoku

00:40:00

Java: Subarray Sum Equals K

00:25:00

Java: Minimum Window Substring

00:30:00

Java: Design HashSet

00:25:00

Java: Reverse a Stack using Recursion

00:25:00

Java: Find next right node of a given key

00:30:00

Java: Traversing directory in Java using BFS

00:20:00

Java: Delete consecutive same words in a sequence

00:25:00

Java: Sort a Stack using another stack

00:30:00

Java: Minimum time required to rot all oranges

00:40:00

Java: Next Greater Element

00:30:00

Java: Trapping rain water

00:30:00

Java: Largest rectangle in histogram

00:25:00

Java: Construct a linked list from 2D matrix

00:30:00

Java: Convert given Binary Tree to Doubly Linked List in Linear Time

00:25:00

Java: Count Nodes in Circular Linked List

00:25:00

Java: Delete all Prime Nodes from a Doubly Linked List

00:35:00

Java: Deletion from a Circular Linked List

00:35:00

Java: Remove Duplicates from a sorted Linked List

00:25:00

Java: Reverse a Doubly Linked List

00:20:00

Java: Traversal of Circular Linked List

00:25:00

Java: Check whether a Binary Tree is BST or Not

00:30:00

Java: Deletion in a Binary Tree

00:40:00

Java: Check if two nodes are cousins in a Binary Tree

00:50:00

Java: Check whether the two Binary Search Trees are Identical or Not

00:35:00

Java: Find the Closest Element in Binary Search Tree

00:35:00

Java: Convert Binary Tree to Doubly Linked List

00:50:00

Java: Height of a Generic Tree from Parent Array

00:50:00

Java: Insertion in a Binary Tree in Level Order

00:35:00

Java: Find right Sibling of a binary tree with parent pointers

00:40:00

Java: Find Distance between two nodes of a Binary Tree

00:50:00

Java: Binary Tree to Binary Search Tree Conversion

00:40:00

### Q1. What is Self Paced course offered by Dot Net Tricks?

Online Self Paced Courses are designed for self-directed training, allowing participants to begin at their convenience with structured training and review exercises to reinforce learning. You'll learn through videos, PPTs, and Assignments designed to enhance learning outcomes, all at times that are most convenient for you.

### Q2. Who are your mentors?

All our mentors are highly qualified and experience professionals. All have at least 8-10 yrs of development experience in various technologies and are trained by Dot Net Tricks to deliver interactive training to the participants.

As soon as you enroll in the course, you will get access to the course content through LMS (The Learning Management System) in the form of a complete set of Videos, PPTs, PDFs, and Assignments. You can start learning right away.

### Q4. How do I enroll for the course?

You can enroll in the course by doing payment. Payment can be made using any of the following options.

1. Visa debit/credit card
2. Net banking
3. Through PayPal

### Q5. Student discounts?

Yes, Dot Net Tricks provides student discount to learners who cannot afford the fee. Email us from your student account, or attach your student ID.

### Q6. Can I share my course with someone else?

In short, no. Check our licensing that you agree to by using Dot Net Tricks LMS. We track this stuff, any abuse of copyright is taken seriously. Thanks for your understanding on this one.

### Q7. How do I setup my team?

Please drop us an email with a list of user details like name, email youâ€™d like to enroll and have access, we'll create your team accounts.

### Q8. Do you provide technology version upgrade session free?

Yes, we do. As the technology upgrades your content gets updated at no cost.

### Q9. Whom do I contact, if I have more queries?

You can give us a CALL at +91 113 303 4100 OR email us at enquiry@dotnettricks.com

### Q10. Do you offer certificates of completion?

We do. Once you've finished a course, reach out to us.

Still have some questions? Let's discuss.