Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

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

via freeCodeCamp

Overview

Dive into a comprehensive 23-hour course on Data Structures and Algorithms using Java, designed to prepare you for coding interviews and enhance your problem-solving skills. Learn essential concepts through step-by-step visualizations, covering topics such as arrays, linked lists, stacks, queues, trees, heaps, graphs, and dynamic programming. Master fundamental algorithms like searching, sorting, and traversal techniques, while tackling popular coding challenges from platforms like LeetCode. Gain hands-on experience implementing various data structures, analyzing time and space complexity, and optimizing solutions. By the end of this extensive course, develop a strong foundation in algorithmic thinking and be well-equipped to tackle complex programming problems in your career.

Syllabus

Introduction
Introduction to Data Structures
Introduction to Data Structures
Introduction to Algorithms
Time Complexity of an Algorithm
Space Complexity of an Algorithm
Asymptotic Analysis of an Algorithm
Asymptotic Notations
Analysis and Rules to calculate Big O notation
One-Dimensional Array
print elements of an Array
Remove Even Integers from an Array
Reverse an Array
find Minimum value in an Array
Find Second Maximum value in an Array
move Zeroes to end of an Array
resize an Array
Find the Missing Number in an Array
check if a given String is a Palindrome
Create a Singly Linked List
Print elements of a Singly Linked List
Find length of a Singly Linked List
Insert nodes in a Singly Linked List
Delete nodes of a Singly Linked List
search an element in a Singly Linked List
Reverse a Singly Linked List
find nth node from the end of a Singly Linked List
remove duplicate from sorted Singy Linked List
insert a node in a sorted Singly Linked List
remove a given key from Singly Linked List
detect a loop in a Singly Linked List
find start of a loop in a Singly Linked List?
Why Floyd's Cycle Detection algorithm works?
remove loop from a Singly Linked List?
Merge Two Sorted ListsQuestion
LeetCode #2: Add Two Numbers
represent a Doubly Linked List
implement Doubly Linked List
print elements of a Doubly Linked List
insert node at the beginning of a Doubly Linked List
Insert node at the end of a Doubly Linked List
delete first node in a Doubly Linked List
delete last node in a Doubly Linked List
represent a Circular Singly Linked List
implement a Circular Singly Linked List
traverse and print a Circular Singly Linked List
insert node at the start of a Circular Singly Linked List
insert node at the end of a Circular Singly Linked List
remove first node from a Circular Singly Linked List
Stacks
Next Greater Element
Valid Parentheses problem Balanced Brackets
represent a Queue
implement a Queue
Generate Binary numbers from 1 to n using a Queue
Binary Trees
Search in a row and column wise sorted matrix
Print a given matrix in Spiral form
Introduction to Priority Queue and Binary Heap
represent a Binary Heap
implement Max Heap
Bottom - Up Reheapify Swim in Max Heap
insert in a Max Heap
Top - Down Reheapify Sink in Max Heap
delete max element in a Max Heap
Linear Search
Binary Search
Search Insert Position in a Sorted Array
Bubble Sort
Insertion Sort
Selection Sort Algorithm
merge two sorted arrays
Merge Sort
Sort an array of 0’s, 1’s, and 2’s Dutch National Flag Problem
Quick Sort Algorithm
Squares of a Sorted Array
Rearrange Sorted Array in Max⧸Min form
Graphs
Number of Islands
Hashing and Hash Tables
Contains Duplicate
Introduction to Intervals and Overlapping Intervals
Merge Intervals
Insert Interval
Trie Data Structures
Dynamic Programming
Kadane's Algorithm for Maximum Sum Subarray
LeetCode: Two Sum
Is Valid Subsequence problem
First Non-Repeating Character in a String
Remove Vowels from a String
Reverse an Integer
Remove Element
Remove Duplicates from Sorted Array
Three Sum problem Animation
Product of an Array except self
Sliding Window Maximum
Maximum Sum Subarray of Size K
LeetCode: Longest Substring Without Repeating Characters
LeetCode: Symmetric Tree

Taught by

freeCodeCamp.org

Reviews

Start your review of Data Structures and Algorithms with Visualizations – Full Course (Java)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.