Save for later

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

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

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.

Get Details and Enroll Now

OpenCourser is an affiliate partner of Udemy and may earn a commission when you buy through our links.

Get a Reminder

Send to:
Rating 4.2 based on 39 ratings
Length 11 total hours
Starts On Demand (Start anytime)
Cost $12
From Udemy
Instructor Holczer Balazs
Download Videos Only via the Udemy mobile app
Language English
Subjects IT & Networking
Tags Development IT & Software Other Other IT & Software

Get a Reminder

Send to:

Similar Courses

What people are saying

very clear

Author has taken a lot of effort for giving a deeply detailed explanation of each topic It's a great course, the instructor is very clear in his explications and every algorithm has its own implementation.

Material is presented in very clear, concise manner.

Concepts are very very clear, It is very useful for people like me from non Computer Science background.

He explains everything very clearly.

Kendisi gayet başarılı bir şekilde anlatıyor Very clear explanation of the subjet The teacher introduced me to knowledge of algorithms such as Boyer Moore Algorithm.

Read more

data structures

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.

If you fully want to understand how things work and become a better programmer then take his two courses on data structures and algorithms.

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.

I'm currently doing a refresher on data structures and algorithms using material from several sources.

Read more

while coding

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.


An overview of related careers and their average salaries in the US. Bars indicate income percentile.

Structures/Bridge $81k

Structures Technician 1 $81k

Associate Structures Engineering $83k

Structures Designer $85k

Structures CADD $91k

Structures Mech $94k

Aircraft Structures $96k

Structures Foreman $98k

Engineer of Structures $100k

Structures Engineer 1 2 $103k

Product Engineer - Structures $115k

Structures Estimator Manager $127k

Write a review

Your opinion matters. Tell us what you think.

Rating 4.2 based on 39 ratings
Length 11 total hours
Starts On Demand (Start anytime)
Cost $12
From Udemy
Instructor Holczer Balazs
Download Videos Only via the Udemy mobile app
Language English
Subjects IT & Networking
Tags Development IT & Software Other Other IT & Software

Similar Courses

Sorted by relevance

Like this course?

Here's what to do next:

  • Save this course for later
  • Get more details from the course provider
  • Enroll in this course
Enroll Now