Algorithms and Data Structures in Java – Learn algorithms and data structures in java
Algorithms and Data Structures in Java Part I
Learn how to solve complex problems 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 5 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.
In the first part of the course we are going to learn about basic data structures such as linked lists, stacks and queues, heaps and some advanced ones such as hash tables and ternary search trees. The second part will be about data compression. We will try to optimize each data structure ( for example avoiding obsolete references ) as much as possible.
In each chapter I am going to talk about the theoretical background of each algorithm or data structure, then we are going to write the code step by step in Eclipse, Java.
Most of the advanced algorithms relies heavily on these topics so it is definitely worth understanding the basics. These principles can be used in several fields: in investment banking, artificial intelligence or electronic trading algorithms on the stock market.
– Linked Lists
– Stacks & Queues
– Binary Search Trees
– Balanced Trees: AVL Trees
– Balanced Trees: Red-Black Trees
– Splay Trees
– Binary Heaps
– Source Code & Slides
Algorithms and Data Structures in Java Part II
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 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.
Hope you will like the course, let’s get started!
Who is the target audience?
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.
– Prefix Tree – Tries
– Ternary Search Tree
– Substring Search
– Basic Sorting Algorithms
– Data Compression
– Source Code & Slides
Manufacturer: Yudomi / Udemy
Language of instruction: English
Moderator: Holczer Balazs
Level of training: Elementary, secondary
Training time: 15 hours + 30 minutes
File size: 1498 MB