Hours of Content: 7.5

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.

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 to support.

Substring search is another important field of computer science.You will learn about the 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.

Hope you will like the course, let's get started!

What are the requirements?

  • Core Java
  • Eclipse or other IDE

What am I going to get from this course?

  • Grasp the fundamentals of algorithms and data structures
  • Develop your own algorithms that best fit to the personal need
  • Detect non-optimal code snippets
  • Get to know data compression
  • Get to know sorting algorithms

What is the target audience?

  • This course is meant for university students with the quantitative background (mathematics, computer science) but anyone with core java knowledge can get a good grasp of the lectures
Holczer Balazs

Your Instructor

Holczer Balazs

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist and later on I decided to get a master degree in applied mathematics. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model. Quantitative analysts use these algorithms and numerical techniques on daily basis so in my opinion these topics are definitely worth learning.

Take a look at my website and join my email list if you are interested in these topics!

Your Instructor


Holczer Balazs
Holczer Balazs

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist and later on I decided to get a master degree in applied mathematics. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model. Quantitative analysts use these algorithms and numerical techniques on daily basis so in my opinion these topics are definitely worth learning.

Take a look at my website and join my email list if you are interested in these topics!


Course Curriculum

  Introduction
Available in days
days after you enroll

Frequently Asked Questions

When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.

Get started now!