**Advanced Algorithms in Java**

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

eLearning | Skill level: All Levels

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