Advanced Data Structures and Algorithms in Java 9 covers classical, functional, and reactive data structures, giving you the ability to understand computational complexity, solve problems, and write efficient code. This video is based on the Zero Bug Bounce milestone of Java 9.We start off with the basics of algorithms and data structures, helping you understand the fundamentals and measure complexity. You will also get a clear picture of reactive programming, binary searches, sorting, search trees, undirected graphs, and a whole lot more!
About the Author
Debasish Ray Chawdhuri is an established Java developer and has been in the industry for the last eight years. He has developed several systems, from CRUD applications to programming languages and big data processing systems. He provided the first implementation of an extensible business reporting language specification, and a product around it, to verify company financial data for the Government of India while he was employed at Tata Consultancy Services Ltd. In Talentica Software Pvt. Ltd., he implemented a domain-specific programming language to easily implement complex data aggregation computations that compiled to Java bytecode. Currently, he leads a team developing a new high-performance structured data storage framework to be processed by Spark. The framework is named Hungry Hippos and will be open-sourced very soon.
He has worked for Tata Consultancy Services Ltd., Oracle India Pvt. Ltd., and Talentica Software Pvt. Ltd.
Quick sort is a divide and conquer algorithm. It picks an element pivot and partitions the array around it. Let’s learn and work with quicksort in this video.
In quicksort, we select a pivot but in mergesort the array is divided into two halves and the halves are sorted separately.
A tree data structure is used to represent hierarchical data. In this video, we will create a tree.
We require the tree abstract data type for developing a tree implementation
Binary search tree represents the steps of the binary search algorithm. Let’s learn more!
A binary search tree that remains balanced to some extent when insertion and deletion are carried out is called a self-balancing binary search tree. This video is one step further than the previous video.
The AVL tree makes a lot of rotations. To know when to make a rotation, we use red-black tree.
Hash tables are faster than other data structures. A hash table keeps an array of buckets indexed by the hash code. The bucket can have many kinds of data structures, but we will use a linked list here. Let’s get started!
A priority queue ADT is similar to a queue but the elements have a feature called priority. A heap is a balanced binary tree with some constraints. We will get to know more about them in this video.
A linked heap is an actual binary tree where every node holds references to its children. This video handles the linked heap concepts.
Binomial forest is a queue of binomial trees. In this video, we will learn about binomial tress and forests.
A graph is a collection of vertices and edges that connects vertices. In this video, we will learn about the graph.
To implement graphs, we require the graph ADT. In this video, we will look at the different types in which a graph can be represented.
An adjacency list is a more space-efficient representation of sparse graphs. In this video, we will work with adjacency lists
Most reactive programming frameworks provide functional APIs for reactive programming, which makes it even easier to work with. In this video, we will build a functional reactive API and solve a problem with it.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.