Advanced Algorithms in Java

Advanced Algorithms in Java

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 16 Hours | 7.56 GB

Understand Algorithms and Data structure at a deep level. Grow your career and be ready to answer interview questions!

Once you know the basics of Java, you will want to start figuring out Algorithms and Data structures.

Used correctly, your code will run faster, and use less memory, and be more stable, with the efficient use of the right Algorithms and data structures.

But the reverse is also true. When used incorrectly, you can find your code consuming more memory and running slower!

Programmers who understand how to use and implement Algorithms and data structures correctly, are in high demand. Until now, acquiring the knowledge of how to do things the right way has been a painful process of learning by trial and error.

All that has changed with the release of this brand-new course – Advanced Algorithms in Java.

Marcos Costa, is an expert Java developer with 18 years of experience. Early in his career he realised the importance of understanding algorithms at a deep level.

Soon he began to get noticed by his peers for his knowledge and rose to Tech Lead Engineer.

His skills took him to positions all over the world, including Australia and the USA where he now resides.

Now he created a course designed to help Java programmers to really understand algorithms at a deep level.

What will you learn in this course?

You’ll learn to become a better problem solver, by using better implementations and making better decisions with your coding.

Marcos will explain to you in an easy to follow and understandable way, how to implement a number of algorithms that you can put to good use in your own projects.

Follow along, line by line as the algorithms are developed, and watch it execute, and get a deep understanding of how the algorithms work.

Unlike most other courses, you will actually understand how to put together and use these algorithms in your own code. This course is heavily practical – its not just boring theory and slides that you see in many other courses that target the same topics.

What topics are covered in the course?

You will learn five different Pattern Matching algorithms.

Lempel-Ziv-Welch Algorithm

Huffman Compression

Prefix Tree or Trie Tree

Suffix Trie

Suffix Tree

You will implement two version of Boyer Moore algorithm (the simplest and easiest and the more complex).

And then implement the Suffix Tree from O(n2) to only O(n).

This is a very long, complex and interesting implementation!

What benefits will you get out of the course?

You will learn and understand complex algorithms.

Improve your confidence in interviews as a result of what you have learned in the course.

Write better Java code, that is more efficient and optimized, factoring in your newly found understanding of memory vs processor trade-offs.

Quite literally, you will take your Java skills to the next level.

Why enrolling in this course is the best decision you can make.

This course helps you to understand how to implement a number of core algorithms. You will come away with a detailed understanding of how they work, and how to apply what you have learned into your own programs.

You’ll be able to write better Java code, and as a result your programs will be better optimized for execution and use less resources.

After completing this course, you will be able to add the algorithms you have learned into your arsenal of skills, giving you more opportunities to further your career.

The sooner you sign up for this course, the sooner you will have the skills and knowledge you need to increase your job or consulting opportunities. Your new job or consulting opportunity awaits!

What you’ll learn

  • Have an understand of how algorithms work, at a deep level
  • Write better Java code that is more optimised
Table of Contents

Installation and Setup
1 Introduction to the Course
2 Creating Maven Project with JUNIT
3 Learning Unit Testing with JUNIT
4 How to Get the Most from this Course
5 Which version of Java should you use
6 Install JDK 10 on Windows
7 Install and Configure Intellij on Windows
8 Install JDK 10 on a Mac
9 Install and Configure Intellij on a Mac
10 Install JDK 10 on Linux
11 Install and Configure Intellij on Linux

Pattern Matching Algorithms
12 Euclid Augorithm Introduction
13 KMP Longest Suffix Preffix Table Test
14 Knuth Morris Pratt (KMP) Coding
15 Knuth Morris Pratt (KMP) Test
16 Rabin-Karp Introduction
17 Rabin-Karp Coding
18 Rabin-Karp Test
19 Boyer Moore Horspool Introduction
20 Boyer Moore Horspool Coding
21 Boyer Moore Horspool Test
22 Boyer Moore Introduction
23 Euclid Algorithm Coding
24 Boyer Moore Coding Part 1
25 Boyer Moore Coding Part 2
26 Boyer Moore Coding Part 3
27 Z Algorithm Introduction
28 Z Algorithm Coding Part1
29 Z Algorithm Coding Part2
30 Euclid Algorithm Unit Test
31 Brute Force Introduction
32 Brute Force Coding
33 Brute Force Unit Test
34 Knuth Morris Pratt (KMP) Introduction
35 KMP Longest Suffix Prefix Table Introduction
36 KMP Longest Suffix Preffix Table Coding

Compression Algorithms
37 Huffman Compression Encoding Introduction
38 LZW Lempel-Ziv-Welch Compression Introduction
39 LZW Compression Coding Compression
40 LZW Compression Coding Decompression
41 Huffman Compression Encoding Coding Part 1
42 Huffman Compression Encoding Coding Part 2
43 Huffman Compression Encoding Coding Part 3
44 Huffman Compression Encoding Coding Part 4
45 Huffman Compression Decode Introduction
46 Huffman Compression Decode Coding Part 1
47 Huffman Compression Decode Coding Part 2
48 Huffman Compression Decode Coding Part 3

Exploring Trie Trees
49 Prefix Tree Introduction
50 Suffix Tree Naive Implementation
51 Suffix Tree Ukkonen’s Ticks
52 Suffix Tree Ukkonen’s Suffix Links
53 Suffix Tree Ukkonnen’s Active Points 1
54 Suffix Tree Ukkonnen’s Active Points 2
55 Suffix Tree Ukkonnen’s Edge Index
56 Suffix Tree Ukkonnen’s Coding Part 1
57 Suffix Tree Ukkonnen’s Testing Part 1
58 Suffix Tree Ukkonnen’s Coding Part 2
59 Suffix Tree Ukkonnen’s Coding Part 3
60 Prefix Tree Coding Part 1
61 Suffix Tree Ukkonnen’s Coding Part 4
62 Suffix Tree Ukkonnen’s Coding Part 5
63 Suffix Tree Ukkonnen’s Coding Part 6
64 Prefix Tree Coding Part 2
65 Prefix Tree Coding Part 3
66 Suffix Trie Introduction
67 Suffix Trie Coding Part 1
68 Suffix Trie Coding Part 2
69 Suffix Trie Coding Part 3
70 Suffix Trie Coding Part 4

Bonus Material
71 Bonus – Please Watch!
72 Check out Our Other 36 Udemy Courses!
73 Source Code