English | Apr. 28, 2017 | ISBN: 1785889346 | 379 Pages | ePub/ PDF (conv) | 4 MB

Key Features

This book provides complete coverage of reactive and functional data structures

Based on the latest version of Java 9, this book illustrates the impact of new features on data structures

Gain exposure to important concepts such as Big-O Notation and Dynamic Programming

Book Description

Java 9 Data Structures and Algorithms covers classical, functional, and reactive data structures, giving you the ability to understand computational complexity, solve problems, and write efficient code. This book 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. From here, we introduce you to concepts such as arrays, linked lists, as well as abstract data types such as stacks and queues. Next, we'll take you through the basics of functional programming while making sure you get used to thinking recursively.

We provide plenty of examples along the way to help you understand each concept. You will get the also get a clear picture of reactive programming, binary searches, sorting, search trees, undirected graphs, and a whole lot more!

What you will learn

Understand the fundamentals of algorithms, data structures, and measurement of complexity

Find out what general purpose data structures are, including arrays, linked lists, double ended linked lists, and circular lists

Get a grasp on the basics of abstract data types-stack, queue, and double ended queue

See how to use recursive functions and immutability while understanding and in terms of recursion

Handle reactive programming and its related data structures

Use binary search, sorting, and efficient sorting-quicksort and merge sort

Work with the important concept of trees and list all nodes of the tree, traversal of tree, search trees, and balanced search trees

Apply advanced general purpose data structures, priority queue-based sorting, and random access immutable linked lists

Gain a better understanding of the concept of graphs, directed and undirected graphs, undirected trees, and much more

About the Author

Debasish Ray Chawdhuri is an established Java developer and has been in the industry for the last 8 years. He has developed several systems, right from CRUD applications to programming languages and big data processing systems. He had provided the first implementation of extensible business reporting language specification, and a product around it, for the verification of 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 computation that would compile to Java bytecode. Currently, he is leading 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 also blogs at http://www.geekyarticles.com/ about Java and other computer science-related topics.

He has worked for Tata Consultancy Services Ltd., Oracle India Pvt. Ltd., and Talentica Software Pvt. Ltd.

Table of Contents

Why Bother? - Basic

Cogs and Pulleys - Building Blocks

Protocols - Abstract Data Types

Detour - Functional Programming

Efficient Searching - Binary Search and Sorting

Efficient Sorting - quicksort and mergesort

Concepts of Tree

More About Search - Search Trees and Hash Tables

Advanced General Purpose Data Structures

Concepts of Graph

Reactive Programming

English | July 12, 2015 | ISBN: 1491904240 | 100 Pages | EPUB/MOBI/PDF (True) | 2.08 MB/6.54 MB/5.9 MB

Publisher: McGraw-Hill Osborne Media | ISBN: 007226134X | edition 2005 | File type: PDF | 401 pages | 3 m