Data structures and algorithms in Java - Hands On!

Description:
In this course we will dive deep into data structures and algorithms and learn how to do they work, how to implement them in Java and how to use them for implementing and optimizing your application. we will also learn how to calculate time complexity and space complexity and how to decide which data structure or algorithm should be used for solving a specific problem.
We will also solve coding challenges from Leetcode to reinforce the data structures and algorithms knowledge and to explain how they can be used for solving coding problems efficiently.
Data structures and algorithms are two of the most important aspects of computer science, learning data structures and algorithms will help you become a better programmer, write more efficient code and solve problems quicker, that's why Tech companies focus on data structures and algorithms in the technical interviews.
Throughout this course we will cover everything you need to master data structures and algorithms, including:
Big O notation (time complexity and space complexity)
Arrays
Linked lists
Stacks
Heaps
Queues
Hashmaps
Tries
Trees (and tree traversal algorithms)
Graphs
Breadth first search and depth first search
Linear search
Binary search
Bubble sort
Quick sort
Selection sort
Insertion sort
Merge sort
Recursion
I am confident that you will like this course and that you will be a different programmer once you finish it, join me in this course and master data structures and algorithms!