Book description
Though your application serves its purpose, it might not be a high performer. Learn techniques to accurately predict code efficiency, easily dismiss inefficient solutions, and improve the performance of your application.
Key Features
 Explains in detail different algorithms and data structures with sample problems and Java implementations where appropriate
 Includes interesting tips and tricks that enable you to efficiently use algorithms and data structures
 Covers over 20 topics using 15 practical activities and exercises
Book Description
Learning about data structures and algorithms gives you a better insight on how to solve common programming problems. Most of the problems faced everyday by programmers have been solved, tried, and tested. By knowing how these solutions work, you can ensure that you choose the right tool when you face these problems.
This book teaches you tools that you can use to build efficient applications. It starts with an introduction to algorithms and big O notation, later explains bubble, merge, quicksort, and other popular programming patterns. You'll also learn about data structures such as binary trees, hash tables, and graphs. The book progresses to advanced concepts, such as algorithm design paradigms and graph theory. By the end of the book, you will know how to correctly implement common algorithms and data structures within your applications.
What you will learn
 Understand some of the fundamental concepts behind key algorithms
 Express space and time complexities using Big O notation.
 Correctly implement classic sorting algorithms such as merge and quicksort
 Correctly implement basic and complex data structures
 Learn about different algorithm design paradigms, such as greedy, divide and conquer, and dynamic programming
 Apply powerful string matching techniques and optimize your application logic
 Master graph representations and learn about different graph algorithms
Who this book is for
If you want to better understand common data structures and algorithms by following code examples in Java and improve your application efficiency, then this is the book for you. It helps to have basic knowledge of Java, mathematics and objectoriented programming techniques.
Publisher resources
Table of contents
 Title Page
 Copyright and Credits
 Packt Upsell
 Contributors
 Preface
 Algorithms and Complexities
 Sorting Algorithms and Fundamental Data Structures

Hash Tables and Binary Search Trees
 Introducing Hash Tables
 Getting Started with Binary Search Trees
 Summary

Algorithm Design Paradigms
 Introducing Greedy Algorithms
 Getting Started with Divide and Conquer Algorithms
 Understanding Dynamic Programming
 Summary
 String Matching Algorithms
 Graphs, Prime Numbers, and Complexity Classes
 Other Books You May Enjoy
Product information
 Title: Beginning Java Data Structures and Algorithms
 Author(s):
 Release date: July 2018
 Publisher(s): Packt Publishing
 ISBN: 9781789537178
You might also like
book
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …
book
Data Structures and Algorithms in Java, 2nd Edition
Data Structures and Algorithms in Java, Second Edition is designed to be easy to read and …
book
Essential Algorithms, 2nd Edition
A friendly introduction to the most useful algorithms written in simple, intuitive English The revised and …
book
Data Structures and Algorithms in Java, 6th Edition
The design and analysis of efficient data structures has long been recognized as a key component …