Data Structures and Algorithms with Visualizations – Full Course (Java)

preview_player
Показать описание
Data Structures and Algorithms is an important aspect of every coding interview. This course will help you prepare for placements, coding interviews, and logic building.
✏️ Course developed by @itsdineshvaryani

The course walks you through multiple Java algorithms, data structure problems, and their solutions with step-by-step visualizations, so that you are actually learning instead of blindly memorizing solutions.

⭐️ Contents ⭐️
00:00:00 Introduction
00:03:46 Introduction to Data Structures
00:03:46 Introduction to Data Structures
00:08:49 Introduction to Algorithms
00:19:43 Time Complexity of an Algorithm
00:25:05 Space Complexity of an Algorithm
00:27:14 Asymptotic Analysis of an Algorithm
00:29:43 Asymptotic Notations
00:39:06 Analysis and Rules to calculate Big O notation
01:06:16 One-Dimensional Array
01:32:38 print elements of an Array
01:44:29 Remove Even Integers from an Array
02:03:54 Reverse an Array
02:16:09 find Minimum value in an Array
02:28:13 Find Second Maximum value in an Array
02:41:03 move Zeroes to end of an Array
03:01:46 resize an Array
03:19:58 Find the Missing Number in an Array
03:34:08 check if a given String is a Palindrome
03:52:52 Create a Singly Linked List
04:02:58 Print elements of a Singly Linked List
04:13:11 Find length of a Singly Linked List
04:22:52 Insert nodes in a Singly Linked List
05:16:40 Delete nodes of a Singly Linked List
06:12:06 search an element in a Singly Linked List
06:22:42 Reverse a Singly Linked List
06:33:27 find nth node from the end of a Singly Linked List
06:46:43 remove duplicate from sorted Singy Linked List
06:57:51 insert a node in a sorted Singly Linked List
07:09:37 remove a given key from Singly Linked List
07:20:10 detect a loop in a Singly Linked List
07:36:58 find start of a loop in a Singly Linked List?
07:57:54 Why Floyd's Cycle Detection algorithm works?
08:17:23 remove loop from a Singly Linked List?
08:37:36 Merge Two Sorted ListsQuestion
09:21:54 LeetCode #2: Add Two Numbers
09:41:53 represent a Doubly Linked List
09:46:06 implement Doubly Linked List
09:52:27 print elements of a Doubly Linked List
10:05:10 insert node at the beginning of a Doubly Linked List
10:15:25 Insert node at the end of a Doubly Linked List
10:25:50 delete first node in a Doubly Linked List
10:41:08 delete last node in a Doubly Linked List
10:55:49 represent a Circular Singly Linked List
11:03:46 implement a Circular Singly Linked List
11:11:20 traverse and print a Circular Singly Linked List
11:22:55 insert node at the start of a Circular Singly Linked List
11:37:48 insert node at the end of a Circular Singly Linked List
11:51:52 remove first node from a Circular Singly Linked List
12:10:37 Stacks
13:08:22 Next Greater Element
13:29:44 Valid Parentheses problem (Balanced Brackets)
13:46:11 represent a Queue
13:52:52 implement a Queue
14:31:59 Generate Binary numbers from 1 to n using a Queue
14:50:36 Binary Trees
20:27:59 Search in a row and column wise sorted matrix
20:49:30 Print a given matrix in Spiral form
21:23:55 Introduction to Priority Queue and Binary Heap
21:32:00 represent a Binary Heap
21:43:41 implement Max Heap
21:56:25 Bottom - Up Reheapify (Swim) in Max Heap
22:09:30 insert in a Max Heap
22:45:34 Top - Down Reheapify (Sink) in Max Heap
23:02:17 delete max element in a Max Heap
23:25:57 Linear Search
23:35:47 Binary Search
23:51:38 Search Insert Position in a Sorted Array
24:13:22 Bubble Sort
24:51:29 Insertion Sort
25:33:57 Selection Sort Algorithm
26:16:06 merge two sorted arrays
26:53:01 Merge Sort
28:33:26 Sort an array of 0’s, 1’s, and 2’s (Dutch National Flag Problem)
29:06:31 Quick Sort Algorithm
30:42:59 Squares of a Sorted Array
31:07:03 Rearrange Sorted Array in Max⧸Min form
31:38:01 Graphs
33:55:55 Number of Islands
34:43:56 Hashing and Hash Tables
37:33:21 Contains Duplicate
37:45:19 Introduction to Intervals and Overlapping Intervals
37:53:40 Merge Intervals
38:15:53 Insert Interval
38:40:02 Trie Data Structures
39:47:59 Dynamic Programming
41:26:02 Kadane's Algorithm for Maximum Sum Subarray
42:12:39 LeetCode: Two Sum
42:54:26 Is Valid Subsequence problem
43:22:23 First Non-Repeating Character in a String
43:48:45 Remove Vowels from a String
44:04:10 Reverse an Integer
44:23:13 Remove Element
44:40:54 Remove Duplicates from Sorted Array
44:58:57 Three Sum problem Animation
45:22:37 Product of an Array except self
45:45:01 Sliding Window Maximum
46:32:09 Maximum Sum Subarray of Size K
46:59:45 LeetCode: Longest Substring Without Repeating Characters
47:24:15 LeetCode: Symmetric Tree
Рекомендации по теме
Комментарии
Автор

Thanks freeCodeCamp for all the love and support to my course.

itsdineshvaryani
Автор

Is anybody looking for the same course in python?. hit like 👍

itsdineshvaryani
Автор

00:00:00 Introduction
00:03:46 Introduction to Data Structures
00:03:46 Introduction to Data Structures
00:08:49 Introduction to Algorithms
00:19:43 Time Complexity of an Algorithm
00:25:05 Space Complexity of an Algorithm [complete]
00:27:14 Asymptotic Analysis of an Algorithm
00:29:43 Asymptotic Notations
00:39:06 Analysis and Rules to calculate Big O notation
01:06:16 One-Dimensional Array
01:32:38 print elements of an Array
01:44:29 Remove Even Integers from an Array
02:03:54 Reverse an Array
02:16:09 find Minimum value in an Array
02:28:13 Find Second Maximum value in an Array
02:41:03 move Zeroes to end of an Array
03:01:46 resize an Array
03:19:58 Find the Missing Number in an Array
03:34:08 check if a given String is a Palindrome
03:52:52 Create a Singly Linked List
04:02:58 Print elements of a Singly Linked List
04:13:11 Find length of a Singly Linked List
04:22:52 Insert nodes in a Singly Linked List
05:16:40 Delete nodes of a Singly Linked List
06:12:06 search an element in a Singly Linked List
06:22:42 Reverse a Singly Linked List
06:33:27 find nth node from the end of a Singly Linked List
06:46:43 remove duplicate from sorted Singy Linked List
06:57:51 insert a node in a sorted Singly Linked List
07:09:37 remove a given key from Singly Linked List
07:20:10 detect a loop in a Singly Linked List
07:36:58 find start of a loop in a Singly Linked List?
07:57:54 Why Floyd's Cycle Detection algorithm works?
08:17:23 remove loop from a Singly Linked List?
08:37:36 Merge Two Sorted ListsQuestion
09:21:54 LeetCode #2: Add Two Numbers
09:41:53 represent a Doubly Linked List
09:46:06 implement Doubly Linked List
09:52:27 print elements of a Doubly Linked List
10:05:10 insert node at the beginning of a Doubly Linked List
10:15:25 Insert node at the end of a Doubly Linked List
10:25:50 delete first node in a Doubly Linked List
10:41:08 delete last node in a Doubly Linked List
10:55:49 represent a Circular Singly Linked List
11:03:46 implement a Circular Singly Linked List
11:11:20 traverse and print a Circular Singly Linked List
11:22:55 insert node at the start of a Circular Singly Linked List
11:37:48 insert node at the end of a Circular Singly Linked List
11:51:52 remove first node from a Circular Singly Linked List
12:10:37 Stacks
13:08:22 Next Greater Element
13:29:44 Valid Parentheses problem (Balanced Brackets)
13:46:11 represent a Queue
13:52:52 implement a Queue
14:31:59 Generate Binary numbers from 1 to n using a Queue
14:50:36 Binary Trees
20:27:59 Search in a row and column wise sorted matrix
20:49:30 Print a given matrix in Spiral form
21:23:55 Introduction to Priority Queue and Binary Heap
21:32:00 represent a Binary Heap
21:43:41 implement Max Heap
21:56:25 Bottom - Up Reheapify (Swim) in Max Heap
22:09:30 insert in a Max Heap
22:45:34 Top - Down Reheapify (Sink) in Max Heap
23:02:17 delete max element in a Max Heap
23:25:57 Linear Search
23:35:47 Binary Search
23:51:38 Search Insert Position in a Sorted Array
24:13:22 Bubble Sort
24:51:29 Insertion Sort
25:33:57 Selection Sort Algorithm
26:16:06 merge two sorted arrays
26:53:01 Merge Sort
28:33:26 Sort an array of 0’s, 1’s, and 2’s (Dutch National Flag Problem)
29:06:31 Quick Sort Algorithm
30:42:59 Squares of a Sorted Array
31:07:03 Rearrange Sorted Array in Max⧸Min form
31:38:01 Graphs
33:55:55 Number of Islands
34:43:56 Hashing and Hash Tables
37:33:21 Contains Duplicate
37:45:19 Introduction to Intervals and Overlapping Intervals
37:53:40 Merge Intervals
38:15:53 Insert Interval
38:40:02 Trie Data Structures
39:47:59 Dynamic Programming
41:26:02 Kadane's Algorithm for Maximum Sum Subarray
42:12:39 LeetCode: Two Sum
42:54:26 Is Valid Subsequence problem
43:22:23 First Non-Repeating Character in a String
43:48:45 Remove Vowels from a String
44:04:10 Reverse an Integer
44:23:13 Remove Element
44:40:54 Remove Duplicates from Sorted Array
44:58:57 Three Sum problem Animation
45:22:37 Product of an Array except self
45:45:01 Sliding Window Maximum
46:32:09 Maximum Sum Subarray of Size K
46:59:45 LeetCode: Longest Substring Without Repeating Characters
47:24:15 LeetCode: Symmetric Tree

adampal
Автор

47 hours! I applaud you for putting this content out there for free.

sleepteam
Автор

You can't deny that he is Indians are best to give free knowledge.... As a bangladeshi I have to accept Brilliant Guys they are❤

cruise
Автор

I'm glad this is here. This is one of the most important, if not the top topic in architecting and software development. Forget learning language syntax, React, or any other shinny library, if you don't have this knowledge at the ground level of your toolkit, you will struggle. I spent 10 years without this knowledge and failed, once I spent time with this topic, many other topics and knowledged unlocked in my brain and things just became easier. Not "trust me bruh" here, the industry prooves it, you can't move very far without knowing this.

jonjojr
Автор

To all those thinking whether to follow the full tute or not go for it. The way he teaches it's worth it I have learned from his courses in the past as well

trojan
Автор

Indians are the best in giving lectures on software engineering that too for free. Salute to Indians 🫡🫡🫡

darthvader
Автор

Finally finished this course, here are some pointers for people starting this:
1) The course is in Java so obviously better if you use Java. If you are using something else, you will get kinda confused in the implementation part so I recommend looking for something else (you can look at the explanation and animation if you want)
2) Watch in 1.5x speed. He talks kinda slow so even at 1.5x speed, you can understand it clearly.
3) The course does cover all of the basics and plus some Leetcode problems so this is good if you solve Leetcode.
4) It is worth the time, the animations do help in visualizing what is happening.
5) Divide the course into parts, don't try to watch like 5 - 6 hrs in a stretch.

abrahamjustin
Автор

I'm about to write an exam on Data Strucrtures and Algorithms. This video comes at a very great timing. Thank you! 47 hours is insane!

KonsTonWheels
Автор

it is really helpul to have long tutorials and learn everything on one video rather than jumping from one to another. Thank you ❤

samiragh
Автор

Thank you, Dinesh, I've been looking for a tutorial like this. Worked through the book "Cracking the Coding Interview", which Google recommends preparing for an on-site interview, but your course is what I actually needed.

MW-zejm
Автор

This is amazing. I'm a visualize learner and I love this.

Cawnnak
Автор

00:00:00 Introduction
00:03:46 Introduction to Data Structures
00:08:49 Introduction to Algorithms
00:19:43 Time Complexity of an Algorithm
00:25:05 Space Complexity of an Algorithm
00:27:14 Asymptotic Analysis of an Algorithm
00:29:43 Asymptotic Notations
00:39:06 Analysis and Rules to calculate Big O notation
Arrays
01:06:16 One-Dimensional Array
01:32:38 Print elements of an Array
01:44:29 Remove Even Integers from an Array
02:03:54 Reverse an Array
02:16:09 Find Minimum value in an Array
02:28:13 Find Second Maximum value in an Array
02:41:03 Move Zeroes to end of an Array
03:01:46 Resize an Array
03:19:58 Find the Missing Number in an Array
Strings
03:34:08 Check if a given String is a Palindrome
Linked Lists
03:52:52 Create a Singly Linked List
04:02:58 Print elements of a Singly Linked List
04:13:11 Find length of a Singly Linked List
04:22:52 Insert nodes in a Singly Linked List
05:16:40 Delete nodes of a Singly Linked List
06:12:06 Search an element in a Singly Linked List
06:22:42 Reverse a Singly Linked List
06:33:27 Find nth node from the end of a Singly Linked List
06:46:43 Remove duplicate from sorted Singly Linked List
06:57:51 Insert a node in a sorted Singly Linked List
07:09:37 Remove a given key from Singly Linked List
07:20:10 Detect a loop in a Singly Linked List
07:36:58 Find start of a loop in a Singly Linked List
07:57:54 Why Floyd's Cycle Detection algorithm works
08:17:23 Remove loop from a Singly Linked List
08:37:36 Merge Two Sorted Lists
09:21:54 LeetCode #2: Add Two Numbers
Doubly Linked Lists
09:41:53 Represent a Doubly Linked List
09:46:06 Implement Doubly Linked List
09:52:27 Print elements of a Doubly Linked List
10:05:10 Insert node at the beginning of a Doubly Linked List
10:15:25 Insert node at the end of a Doubly Linked List
10:25:50 Delete first node in a Doubly Linked List
10:41:08 Delete last node in a Doubly Linked List
Circular Linked Lists
10:55:49 Represent a Circular Singly Linked List
11:03:46 Implement a Circular Singly Linked List
11:11:20 Traverse and print a Circular Singly Linked List
11:22:55 Insert node at the start of a Circular Singly Linked List
11:37:48 Insert node at the end of a Circular Singly Linked List
11:51:52 Remove first node from a Circular Singly Linked List
Stacks and Queues
12:10:37 Stacks
13:08:22 Next Greater Element
13:29:44 Valid Parentheses problem (Balanced Brackets)
13:46:11 Represent a Queue
13:52:52 Implement a Queue
14:31:59 Generate Binary numbers from 1 to n using a Queue
Trees
14:50:36 Binary Trees
Matrices
20:27:59 Search in a row and column-wise sorted matrix
20:49:30 Print a given matrix in Spiral form
Heaps
21:23:55 Introduction to Priority Queue and Binary Heap
21:32:00 Represent a Binary Heap
21:43:41 Implement Max Heap
21:56:25 Bottom-Up Reheapify (Swim) in Max Heap
22:09:30 Insert in a Max Heap
22:45:34 Top-Down Reheapify (Sink) in Max Heap
23:02:17 Delete max element in a Max Heap
Searching and Sorting Algorithms
23:25:57 Linear Search
23:35:47 Binary Search
23:51:38 Search Insert Position in a Sorted Array
24:13:22 Bubble Sort
24:51:29 Insertion Sort
25:33:57 Selection Sort Algorithm
26:16:06 Merge two sorted arrays
26:53:01 Merge Sort
28:33:26 Sort an array of 0’s, 1’s, and 2’s (Dutch National Flag Problem)
29:06:31 Quick Sort Algorithm
30:42:59 Squares of a Sorted Array
31:07:03 Rearrange Sorted Array in Max/Min form
Graphs
31:38:01 Graphs
33:55:55 Number of Islands
Hashing and Hash Tables
34:43:56 Hashing and Hash Tables
37:33:21 Contains Duplicate
Intervals
37:45:19 Introduction to Intervals and Overlapping Intervals
37:53:40 Merge Intervals
38:15:53 Insert Interval
Advanced Data Structures
38:40:02 Trie Data Structures
Dynamic Programming
39:47:59 Dynamic Programming
41:26:02 Kadane's Algorithm for Maximum Sum Subarray
Miscellaneous Problems
42:12:39 LeetCode: Two Sum
42:54:26 Is Valid Subsequence problem
43:22:23 First Non-Repeating Character in a String
43:48:45 Remove Vowels from a String
44:04:10 Reverse an Integer
44:23:13 Remove Element
44:40:54 Remove Duplicates from Sorted Array
44:58:57 Three Sum problem Animation
45:22:37 Product of an Array except self
45:45:01 Sliding Window Maximum
46:32:09 Maximum Sum Subarray of Size K
46:59:45 LeetCode: Longest Substring Without Repeating Characters
47:24:15 LeetCode: Symmetric Tree

shivakumarkonga
Автор

I start learning data structures and algorithms today[11/03/2024] and completed 1hour lecture.going to update daily about my journey here.

urrnejz
Автор

Dinesh varyani is Google engineer at Pune, India and working as a Cloud Engineer at Google. He is a Technical Architect with over 12+ years of experience in the field of software development. Dinesh is having strong background in technologies such as Java, Spring Boot, and Microservices

raghav_vlogs
Автор

3:05:11 in Python 🐍 resize list:
resizelist = lambda nums, val: nums + [0] * (val - len(nums)) if len(nums) < val else nums[:val]

samarbid
Автор

I'll start my journey today, will be completing an hour or two daily, and keep updating here.

study-meoe
Автор

14:50:36 - binery trees
14:59:02 - implement a binary tree
15:06:50 - recursive preOrder traversal
15:32:55 - iterative preOrder traversal
15:49:30 - recursive in Order traversal
16:16:26 - iterative in Order traversal
16:45:08 - recursive post order traversal
17:11:50 - iterative preOrder traversal
17:54:26 - level order traversal
18:12:52 - find max value
18:48:40 - represent binary search tree
19:01:52 - insert value in binary search tree
19:29:04 - search a key in binary search
19:54:00 - validate binary search tree

kishoreelli
Автор

Day 1: Session 1 = 2:15:19 ; Session 2 = 4:52:24 ;
Day 2: Session 1 = 6:34:07 ; Session 2 = 7:08:50 ;
Day 3: I forgot to mark my progress
Day 4: Session 1 = 10:03:18
Day 5: Session 1 = 11:00:28 Note: College has started so I have much less time now sadly
Day 6: Session 1 = 13:03:29
Day idk imma start again:
Day 1: 17:39:06
Just marking my progress here.

Ary_n_Xic