### Problem Solving in Data Structures & Algorithms Using Python

Posted by jack_miller | Published 10 months ago

With 1 ratings

#### By: Hemant Jain

#### Purchased At: $27.94 (3 used & new offers)

**"Problem Solving in Data Structures & Algorithms"**is a series of books about the usage of Data Structures and Algorithms in computer programming. The book is easy to follow and is written for

**interview preparation**point of view. In these books, the examples are solved in various languages like Go, C, C++, Java, C#, Python, VB, JavaScript and PHP.

**GitHub Repositories for these books.**

https://github.com/Hemant-Jain-Author

**Book’s Composition**

This book introduces you to the world of data structures and algorithms. Data structures defines the way in which data is arranged in memory for fast and efficient access while algorithms are a set of instruction to solve problems by manipulating these data structures.

Designing an efficient algorithm is a very important skill that all software companies, e.g. Microsoft, Google, Facebook etc. pursues. Most of the interviews for these companies are focused on knowledge of data-structures and algorithms. They look for how candidates use concepts of data structures and algorithms to solve complex problems efficiently. Apart from knowing, a programming language you also need to have good command of these key computer fundamentals to not only qualify the interview but also excel in you jobs as a software engineer.

This book assumes that you are a C language developer. You are not an expert in C language, but you are well familiar with concepts of classes, functions, arrays, pointers and recursion. At the start of this book, we will be looking into Complexity Analysis followed by 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 also be looking into Sorting, Searching techniques.

In last few chapters, we will be looking into various algorithmic techniques. Such as, Brute-Force algorithms, Greedy algorithms, Divide and Conquer algorithms, Dynamic Programming, Reduction and Backtracking. .

**Table of Contents**

Chapter 0: How to use this book.

Chapter 1: Algorithms Analysis

Chapter 2: Approach to solve algorithm design problems

Chapter 3: Abstract Data Type & C# Collections

Chapter 4: Searching

Chapter 5: Sorting

Chapter 6: Linked List

Chapter 7: Stack

Chapter 8: Queue

Chapter 9: Tree

Chapter 10: Priority Queue

Chapter 11: Hash-Table

Chapter 12: Graphs

Chapter 13: String Algorithms

Chapter 14: Algorithm Design Techniques

Chapter 15: Brute Force Algorithm

Chapter 16: Greedy Algorithm

Chapter 17: Divide & Conquer

Chapter 18: Dynamic Programming

Chapter 19: Backtracking

Chapter 20: Complexity Theory