Tutgator.com

Algorithms Data Structures in Java #2 (+INTERVIEW QUESTIONS)

Tries Data Structures, Ternary Search Trees, Data Compression, Substring Search and Sorting Algorithms

This course is about data structures and algorithms. We are going to implement the problems in Java, but I try to do it as generic as possible: so the core of the algorithms can be used in C++ or Python. The course takes approximately 12 hours to complete. I highly recommend typing out these data structures several times on your own in order to get a good grasp of it.

What you’ll learn

Course Content

Requirements

This course is about data structures and algorithms. We are going to implement the problems in Java, but I try to do it as generic as possible: so the core of the algorithms can be used in C++ or Python. The course takes approximately 12 hours to complete. I highly recommend typing out these data structures several times on your own in order to get a good grasp of it.

Section 1 – Tries

Section 2 – Ternary Search Trees

Section 3 – Substring Search Algorithms

Section 4 – Strings

Section 5 – Sorting Algorithms

Section 6 – Data Compression Algorithms

Section 7 – Algorithms Analysis

First, we are going to discuss prefix trees: modern search engines for example use these data structures quite often. When you make a google search there is an autocomplete feature because of the underlying trie data structure. It is also good for sorting: hashtables do not support sort operation but on the other hand, tries do support.

Substring search is another important field of computer science. You will learn about Z algorithm and we will discuss brute-force approach as well as Rabin-Karp method.

The next chapter is about sorting. How to sort an array of integers, doubles, strings or custom objects? We can do it with bubble sort, insertion sort, mergesort or quicksort. You will learn a lot about the theory as well as the concrete implementation of these important algorithms.

The last lectures are about data compression: run-length encoding, Huffman encoding and LZW compression.

Thanks for joining the course, let’s get started!