Skip to content
UdemyData Structures and AlgorithmsPaid courseAll LevelsCertificate

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

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

Created by: Holczer Balazs

Last updated November 2023

icon
What you will learn

  • Grasp the fundamentals of algorithms and data structures
  • Develop your own algorithms that best fit to the personal need
  • Detect non-optimal code snippets
  • Understand data compression
  • Understand sorting algorithms
  • Understand tries and ternary search trees
  • Understand Strings and StringBuilders

How it compares

Against the other 86 rated Udemy courses in Data Structures and Algorithms on CourseDuck:

  • Rating4.6 out of 5higher than 66% of them
  • Reviews826#29 of 87 by number of reviews
  • Length12.9 hourslonger than 55% of them
  • Last updatedNovember 2023more recently than 55% of them

icon
Course Description

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

  • what are prefix trees (tries)

  • basics operations: insertion, sorting and autocomplete

  • longest common prefix problem

  • prefix trees applications in networking (IP routing)

Section 2 - Ternary Search Trees

  • what is the problem with tries?

  • what are ternary search trees

  • basic operations: insertion and retrieval

  • applications of tries (IP routing and Boggle Game)

Section 3 - Substring Search Algorithms

  • substring search algorithms

  • brute-force substring search

  • Z substring search algorithm

  • Rabin-Karp algorithm and hashing

  • Knuth-Morris-Pratt (KMP) substring search algorithm

Section 4 - Strings

  • strings in Java programming

  • what is the String Constant Pool?

  • prefixes and suffixes

  • longest common prefix problem

  • longest repeated substring problem

  • suffix tries and suffix arrays

Section 5 - Sorting Algorithms

  • basic sorting algorithms

  • bubble sort and selection sort

  • insertion sort and shell sort

  • quicksort and merge sort

  • comparison based and non-comparison based approaches

  • string sorting algorithms

  • bucket sort and radix sort

Section 6 - Data Compression Algorithms

  • what is data compression

  • run length encoding

  • Huffman-encoding

  • LZW compression and decompression

Section 7 - Algorithms Analysis

  • how to measure the running time of algorithms

  • running time analysis with big O (ordo), big Ω (omega) and big θ (theta) notations

  • complexity classes

  • polynomial (P) and non-deterministic polynomial (NP) algorithms

  • O(1), O(logN), O(N) and several other running time complexities

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!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Holczer Balazs

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. 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.

Take a look at my website if you are interested in these topics!

icon
More courses by Holczer Balazs

$16.99

$10.99

$11.99

$10.99

$13.99

$13.99

icon
More Data Structures and Algorithms courses

Free

$119.99

Free

$99.99

$109.99

$84.99

icon
Reviews

4.6

826 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Hubert Graja on 6/5/2021

It is the best course on Algorithms and Data Structures that I have came across. Strongly recocomended to people who really what to deep dive into this subject but still have a fair practical approach towards learning !

By Jyoti Chopra on 7/28/2019

You did not talk about what if the string we want to insert is already a substring of the previous string. and how do we know if a string has ended or not

By Natalie P on 9/4/2018

Courses by Holczer Balazs are exceptional, best on the subject in my opinion. His "repetitive" manner is magical: everything becomes so clear and just "sticks"...

By Aayush Pandey on 8/12/2018

The instructor is greatly knowledgeable and I like the fact that he uses real life examples and scenarios that we face everyday in order to explain complex topics.

By Rahul Patwardhan on 4/29/2018

This is my moneys worth. I have taken Algorithms and Data Structures in Java Part 1 and this course is part 2 and both of these courses are very good. good explanation with good examples. Please note this is not a Java course so be familiar with Java. Concepts explained can be applied to any programming language. Great job by Holczer Balazs. Some people might find accent or English grammar off but considering the content coverage of course. I could ignore it or rather got used to it. I value the effort put in by the instructor and quality of content. Hats off.

By Robert Marriott on 4/11/2018

I'm currently doing a refresher on data structures and algorithms using material from several sources. I find it helpful to get different perspectives and implementations of these algorithms. Through the videos, this instructor has answered many questions I had. He's also expanded on the topics by including details like use-cases and direct performance comparisons between algorithms. I would recommend this course to anyone interested in expanding their knowledge of this subject, even if you've already studied other sources.

By Andrew Riznyk on 9/21/2017

This is an amazing course ! He does a great job at explaining how everything works and what the advantages and disadvantages to each algorithm and data structure are and why they are that way. If you fully want to understand how things work and become a better programmer then take his two courses on data structures and algorithms. He may have an accent but his illustrations and code make up for it big time. To become a great programmer all you have to do is program everyday for 10 years, or you can study algorithms and data structures for 1 year (maybe 2). Do yourself a favor and take his 2 courses on Data Structures- you dont have to know java - just convert what he is doing into whatever language you are working with.

By Jorge Mendoza on 9/3/2017

Strings section. The coding part have a few errors, they are corrected while coding but I got confused at the first time. Not to much explanation while coding, mainly while coding in String problems part. I would like to hear an explanation of how it is coded in that way. More examples of algorithms implementation would be fine.

By Ajay Kumar Sharma on 2/15/2017

Overall course is good and provides basic knowledge pertaining to important algorithms. That being said, still certain lectures regarding String, Sorts and Compression algorithms definitely needs to be updated. Compression algorithms need more explanation regarding the written code. We surely can understand it after investing some of our time but then it beats the purpose of video tutorials.

By Arun Nayan on 5/15/2016

The instructor breaks the information into easy-to-consume mini-modules. He speaks well: not too quickly or too slowly. He explains everything very clearly. Excellent!

Showing all 10 reviews on CourseDuck

Read all 826 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100