# Problem Solving in Data Structures & Algorithms Using Java: The Ultimate Guide to Programming

## Book Description

This book is about the usage of Data Structures and Algorithms in computer programming. Designing an efficient algorithm to solve a computer science problem is a skill of Computer programmer. This is the skill which tech companies like Google, Amazon, Microsoft, Adobe and many others are looking for in an interview. This book assumes that you are a JAVA language developer. You are not an expert in JAVA language, but you are well familiar with concepts of references, functions, lists and recursion. In the start of this book, we will be revising the JAVA language fundamentals. We will be looking into some of the problems in arrays and recursion too. Then in the coming chapter, we will be looking into complexity analysis. Then will look into the various data structures and their algorithms. We will be looking into a Linked List, Stack, Queue, Trees, Heap, Hash Table and Graphs. We will be looking into Sorting & Searching techniques. Then we will be looking into algorithm analysis, we will be looking into Brute Force algorithms, Greedy algorithms, Divide & Conquer algorithms, Dynamic Programming, Reduction, and Backtracking. In the end, we will be looking into System Design, which will give a systematic approach for solving the design problems in an Interview.

### Table of Contents

CHAPTER 0: HOW TO USE THIS BOOK

CHAPTER 1: INTRODUCTION - PROGRAMMING OVERVIEW

CHAPTER 2: ALGORITHMS ANALYSIS

CHAPTER 3: APPROACH TO SOLVE ALGORITHM DESIGN PROBLEMS

CHAPTER 4: ABSTRACT DATA TYPE & JAVA COLLECTIONS

CHAPTER 5: SEARCHING

CHAPTER 6: SORTING

CHAPTER 7: LINKED LIST

CHAPTER 8: STACK

CHAPTER 9: QUEUE

CHAPTER 10: TREE

CHAPTER 11: PRIORITY QUEUE

CHAPTER 12: HASH-TABLE

CHAPTER 13: GRAPHS

CHAPTER 14: STRING ALGORITHMS

CHAPTER 15: ALGORITHM DESIGN TECHNIQUES

CHAPTER 16: BRUTE FORCE ALGORITHM

CHAPTER 17: GREEDY ALGORITHM

CHAPTER 18: DIVIDE-AND-CONQUER, DECREASE-AND-CONQUER

CHAPTER 19: DYNAMIC PROGRAMMING

CHAPTER 20: BACKTRACKING AND BRANCH-AND-BOUND

CHAPTER 21: COMPLEXITY THEORY AND NP COMPLETENESS

CHAPTER 22: INTERVIEW STRATEGY

CHAPTER 23: SYSTEM DESIGN

## Book Details

- Title: Problem Solving in Data Structures & Algorithms Using Java: The Ultimate Guide to Programming
- Author: Hemant Jain
- Length: 436 pages
- Edition: First Edition
- Language: English
- Publisher: CreateSpace Independent Publishing Platform
- Publication Date: 2016-10-21
- ISBN-10: 1539724123
- ISBN-13: 9781539724124

## Book DownloadTry Audible and Get 2 Free Audiobooks »

Download Link | Format | Size (MB) | Upload Date |
---|---|---|---|

Download from ZippyShare | PDF (convert), EPUB, AZW3 | 14.6 | 01/24/2017 |