Java Algorithms

Java Algorithms

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 2h 42m | 424 MB

Algorithms are one of the fundamental pillars in any software application, as they give programs a set of instructions to perform a task. In this course, Kathryn Hodge aims to help you create better Java programs by using efficient algorithms. She starts with explaining the basics, detailing what makes a given algorithm effective as well as how to make informed assumptions about their data to create more efficient algorithms. She then focuses on how to create algorithms that work with different types of data, including strings and arrays, and how to leverage data structures to make their algorithms more efficient. Many algorithms are built into the Java language, and Kathryn shows how to use these—as well as how to create your own custom algorithms—so you can work with your data in exactly the way you want.

Table of Contents

1 Improve your Java applications with effective algorithms
2 What is an algorithm
3 How to optimize an algorithm
4 Optimize an algorithm in Java
5 How to describe the time complexity of an algorithm

1. String Algorithms
6 Validate Strings in Java All-or-nothing properties
7 Validate strings in Java Specific properties
8 Normalize strings in Java
9 Basic parsing and searching strings in Java
10 Apply custom parsing to search algorithms
11 Create algorithm-driven strings in Java
12 Leverage built-in tools to generate custom data
13 Challenge Reverse each word
14 Solution Reverse each word

2. Array Algorithms
15 Linear search arrays in Java
16 Linear search arrays with Java streams
17 Binary search arrays in Java
18 Aggregate and filter arrays in Java
19 Reverse an array in Java
20 Challenge Rotate an array
21 Solution Rotate an array

3. Linked List Algorithms
22 What is a linked list
23 Using the built-in linked list data structure in Java
24 Create a custom data structure for linked list algorithms
25 Linked list algorithms Delete back half of a linked list
26 Challenge Delete kth node from the end of the list
27 Solution Delete kth node from the end of the list

4. Queue and Stack Algorithms
28 What is a queue
29 Standard queue operations in Java
30 Queue algorithms Generate binary numbers
31 What is a stack
32 Basic stack operations in Java
33 Stack algorithms Theorizing an algorithm
34 Stack algorithms Next greater element
35 Stack algorithms Matching parentheses

5. Algorithms for Hash-Based Structures
36 Hash-based structures in Java
37 HashMap and HashSet operations in Java
38 Leverage the HashSet type in Java algorithms
39 Use the HashMap type in Java algorithms
40 Challenge Detect a cyclic linked list
41 Solution Detect a cyclic linked list

6. Tree Algorithms
42 What is a tree
43 Binary trees in Java
44 What are tree traversals
45 Implement tree traversals in Java
46 Challenge Develop a search algorithm
47 Solution Develop a search algorithm

48 Continue optimizing algorithms