This is the code repository for Learn Algorithms and Data Structures in Java for Day-to-Day Applications [Video], published by Packt. It contains all the supporting project files necessary to work through the video course from start to finish.
Programs are created from algorithms and data structures. Mastering these is an essential part of your development as a Java programmer. They are the main building blocks for each architectural pattern. Many courses treat data structures and algorithms as a theoretical computer science topics. This course relates every technique back to real-world problems and situations you will face working as a programmer.
You will start off with data structures before diving deeper into hash tables and hash functions. This will allow your programs to find the in-memory data they need, even with huge quantities of records stored in the memory. You’ll learn to use querying binary search trees. The course will take you through heapsort, quicksort, recursion, and tail recursion algorithms. You’ll get familiar with multithreading algorithms and probabilistic algorithms. You’ll also understand the importance of advanced data structures and graph algorithms. This will help you to build priority queues and save your time by keeping disgruntled users at bay.
User databases and minimal computing requirements are on the rise. It's important to write sophisticated applications and run them with improved performance, and this course helps you write these applications. It will help you to gain in-demand knowledge of key data structures and algorithms and prepare you for the next stage in your career as a developer.
- Explore the Big O Notation and analyze algorithms to write efficient data structures
- Leverage data structures for building blocks with Stacks and Queues
- Implement sorting efficient algorithms with Heapsort to sort huge data sets within time limits
- Create immutable code Recursion programming algorithms in a functional way to make your programs more concise and elegant and reduce memory consumption
- Estimate the cardinality of a dataset and estimate elements of data sets with a small memory footprint
- Use Querying Binary Search Trees and Hash tables to speed up querying in an application
- Use algorithms to get approximate answers quickly, when speed matters more than precision
- Scale your applications to millions of users with algorithms
To fully benefit from the coverage included in this course, you will need:
Basic knowledge of Java programming language is essential.
This course has the following software requirements: