Develop a strong foundation in Data Structures and Algorithms and become a skilled programmer

Key Features

● Explore various data structures and algorithms and their applications.

● Learn how to use advanced data structures and algorithms to solve complex computational problems.

● An easy-to-understand guide that gives a comprehensive introduction to data structures and algorithms using the Python programming language.

Description

Data structures are a way of organizing and storing data in a computer so that it can be accessed and manipulated efficiently. If you want to become an accomplished programmer and master this subject, then this book is for you.

The book starts by introducing you to the fascinating world of data structures and algorithms. This book will help you learn about different algorithmic techniques such as Dynamic programming, Greedy algorithms, and Backtracking, and their applications in solving various computational problems. The book will then teach you how to analyze the complexity of Recursive algorithms. Moving on, the book will help you get familiar with the concept of Linked lists, which is an important foundation for understanding other data structures, such as Stacks and Queues, which are covered in detail later in this book. The book will also teach you about advanced data structures such as Trees and Graphs, their different types, and their applications. Towards the end, the book will teach you how to use various Sorting, Searching Selection and String algorithms.

By the end of the book, you will get a comprehensive and in-depth understanding of various data structures and algorithms and their applications in solving real-world computational problems efficiently.

What you will learn

● Get familiar with the fundamentals of data structures such as arrays, linked lists, stacks, and queues.

● Understand the basics of algorithm analysis and complexity theory.

● Explore different approaches to the algorithm design, such as divide-and-conquer, dynamic programming, and greedy algorithms.

● Work with common data structures such as arrays, linked lists, stacks, queues, trees, heaps, and graphs.

● Discover sorting and searching algorithms, including hash tables and string algorithms.

Who this book is for

The book is aimed at Computer Science students, Software Engineers, and anyone interested in learning about data structures and algorithms

Table of Contents

1. Introduction to Data Structures

2. Design Methodologies

3. Recursion

4. Arrays

5. Linked List

6. Stacks

7. Queues

8. Trees-I

9. Trees-II

10. Priority Queues

11. Graphs

12. Sorting

13. Median and Order Statistics

14. Hashing

15. String Matching

Appendix 1: All Pairs Shortest Path

Appendix 2: Tree Traversals

Appendix 3: Dijkstra’s Shortest Path Algorithm

Appendix 4: Supplementary Questions