Watch Course Preview
Course Preview

Data Structures and Algorithms Course

Self Paced Course

97 Videos

Video Course

42 Labs

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

Complexity Analysis
Linked List

Included in this Data Structures and Algorithms Course

  •   Video Course 97 Videos
  •   Labs 42 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 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 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


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


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


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


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

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
Hands-On Labs Labs(42)

Java: Count the frequency of an element in an Array


Java: Find all triplets with zero sum


Java: Leaders in an array


Java: Meeting Rooms


Java: Merge Two Sorted Arrays


Java: Minimum Number of Jumps to Reach End in Array


Java: Move all Zeros to the beginning of an array


Java: Remove Duplicates from an Array


Java: Rotate a Matrix by 90 degrees


Java: Rotate an Array to the left


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


Java: Longest Increasing Consecutive Subsequence


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


Java: Camel Case of a given Sentence


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


Java: Minimum rotations required to get the same string


Java: Multiply Large Numbers represented as Strings


Java: Find Itinerary from a given list of tickets


Java: Construct a linked list from 2D matrix


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


Java: Count Nodes in Circular Linked List


Java: Delete all Prime Nodes from a Doubly Linked List


Java: Deletion from a Circular Linked List


Java: Remove Duplicates from a sorted Linked List


Java: Reverse a Doubly Linked List


Java: Traversal of Circular Linked List


Java: Ceiling in a Sorted Array


Java: Count 1’s in a Sorted Binary Array


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


Java: Search an Element in a Sorted and Rotated Array


Java: Two Elements whose Sum is Closest to Zero


Java: Search in an Almost Sorted Array


Java: Median of Two Sorted Arrays of Different Sizes


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


Java: Sort Elements by Frequency


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


Java: Find Missing Elements of a Range


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


Java: Chocolate Distribution Problem


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


Java: Count Distinct Occurrences as a Subsequence


Java: Sort a Matrix in all way Increasing Order


Our Students Reviews

Frequently Asked Questions

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.

Q3. How would I get access to the Learning Content?

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

Q10. Do you offer certificates of completion?

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

This course includes
57.12 % OFF
₹ 1,770 ₹ 749
12 months unlimited access to the course.

Access all courses with our subscription plan.
All courses, One subscription!
Still have some questions? Let's discuss.
Accept cookies & close this