Join Our Groups for Daily 100% off coupons
Data compression, tries, substring search and sorting
Highest Rated
4.8 (315 ratings)
5,958 students enrolled
1. Grasp the fundamentals of algorithms and data structures
2. Develop your own algorithms that best fit to the personal need
3. Detect non-optimal code snippets
4. Get to know data compression
5. Get to know sorting algorithms
- 7.5 hours on-demand video
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
1. Core Java
2. Eclipse or other IDE
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 7 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:
what are prefix trees (tries)
basics operations: insertion, sorting and autocomplete
longest common prefix problem
prefix trees applications in networking
Section 2:
what are ternary search trees
basic operations: insertion and retrieval
Section 3:
substring search algorithms
brute-force substring search
Boyer-Moore substring search
Rabin-Karp algorithm
Section 4:
strings in programming
prefixes and suffixes
longest common prefix and longest repeated substring problem
Section 5:
basic sorting algorithms
bubble sort and selection sort
insertion sort and shell sort
quicksort and merge sort
Section 6:
what is data compression
run length encoding
Huffman-encoding
LZW compression and decompression
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 Boyer-Moore algorithm and we will discuss brute-force approach as well as Raabin-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!
Join Our Groups for Daily 100% off coupons