Algorithms and Data Structures in Java – Part II

Spread the love

Algorithms and Data Structures in Java – Part II

Algorithms and Data Structures in Java: In this course with Mr  Holczer Balazs you will learn Data compression, tries, substring search and sorting.

Created By:  Holczer Balazs

Last Updated: 5/2018

English

What Will You Learn In this Algorithms and Data Structures in Java ?

  • 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.

Requirements For This Algorithms and Data Structures in Java:

  • Core Java.
  • Eclipse or other IDE.

Description For This Algorithms and Data Structures in Java:

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.

Who is the Target Audience For This Algorithms and Data Structures in Java ?
  • This course is meant for university students with quantitative background (mathematics, computer science) but anyone with core java knowledge can get a good grasp of the lectures.

Size: 915MB

Content Retrieve From=> https://www.udemy.com/algorithms-and-data-structures-in-java-part-ii/

About the Instructor (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.

 

Add a Comment

Your email address will not be published. Required fields are marked *