Learn Algorithms and Data Structures in Java for Day-to-Day Applications

Learn Algorithms and Data Structures in Java for Day-to-Day Applications
Learn Algorithms and Data Structures in Java for Day-to-Day Applications
English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 2h 41m | 818 MB

A comprehensive guide to the algorithms and data structures used when designing architectural solutions and big data applications

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.

What You Will Learn

  • 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
Table of Contents

01 The Course Overview
02 Big O Notation — How to Analyze Algorithms
03 Stacks — Basic Building Blocks of Every Program
04 Linked Lists — When We Need Fast Insertion
05 Arrays — When We Need Fast Lookup
06 Hash Tables and Hash Functions — Fast Lookup
07 Hash Functions — How to Distribute Data into Buckets
08 What is a Binary Search Tree
09 Querying Binary Search Tree — When to Use It Effectively
10 Binary Search Tree — Removing Nodes
11 Bubble Sort — Simple Method of Sorting
12 Heapsort — Sorting Using Heap
13 Understanding Recursion
14 Tail Recursion
15 Map_Reduce Paradigm
16 Producer_Consumer Pattern
17 HyperLogLog for Estimating Cardinality of Dataset
18 Bloom Filter for Testing If Sets Contains Element
19 How to Represent Graph
20 Breadth-First Search for Searching in Graph
21 Depth-First Search for Searching in Graph
22 Heaps