Data Structures with Python: Get familiar with the common Data Structures and Algorithms in Python
- Length: 573 pages
- Edition: 1
- Language: English
- Publisher: BPB Publications
- Publication Date: 2023
- ISBN-10: B0C16YFVWQ
- Sales Rank: #0 (See Top 100 Books)
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
Cover Page Title Page Copyright Page Dedication Page About the Author About the Reviewer Acknowledgement Preface Errata Table of Contents 1. Introduction to Data Structures Structure Objectives Introduction Data types Types of data structures Game of clones The game of clones revisited Conclusion Multiple choice questions Theory-based questions Application-based questions 2. Design Methodologies Structure Objectives Greedy approach Divide and conquer Backtracking and dynamic programming Longest common sub-sequence Conclusion Multiple choice questions Programming/application Further references 3. Recursion Structure Objectives Exponentiation Tower of Hanoi Rabbit problem Generating binary numbers Lists Numbers Conclusion Multiple choice questions Programming Further references 4. Arrays Structure Objectives Introduction Memory map Address in column-major Inserting and deleting Operations on arrays Linear search Problems Conclusion Multiple choice questions Programming 5. Linked List Structure Objectives One-way linked list Traversing Insertion and deletion Two-way linked list Traversing Insertion and deletion Cyclic list Stacks and Queues Reversing a linked list Concatenate lists Check cycle Conclusion Multiple choice questions Theory Problems 6. Stacks Structure Objectives Introduction Implementing two stacks using a single list Types and uses Reversing a string Expressions Evaluation of postfix Infix to postfix Infix to prefix Problems Conclusion Multiple Choice Questions Problems 7. Queues Structure Objectives Introduction Algorithm and implementation Circular queue Doubly-ended queue: DEQueue Generating binary numbers using a queue Stack using two queues Stack from a single queue Scheduling Conclusion Multiple Choice Questions Problems 8. Trees-I Introduction Structure Objectives Definition and terminology Representation of a Binary Tree Traversal Post-order traversal Pre-order traversal Binary search tree Insertion in a BST Deletion Leftmost node Rightmost node Conclusion Multiple choice questions Numerical/problems 9. Trees-II Structure Objectives AVL trees Insertion Deletion Insertion in an AVL tree Deletion from an AVL Tree B Trees Conclusion Multiple choice questions Theory Numericals 10. Priority Queues Structure Objectives Introduction to priority queues Structure of heap Operations Inserting an element in a heap Deletion Heap sort Problems Conclusion Multiple choice questions Programming Further references 11. Graphs Introduction Structure Objectives Representation Traversals Depth First Search Breadth First Search Topological sort Spanning tree Kruskal’s algorithm Conclusion Multiple choice questions Numerical/application based Programming 12. Sorting Structure Objectives Bubble sort Comb sort Selection sort Insertion sort Radix sort Counting sort Merge and merge sort Partition and quick sort Conclusion Illustrations Multiple choice questions Theory 13. Median and Order Statistics Introduction Structure Objectives Introduction to median and order statistics Median of medians Median using heaps Median using insertion sort Median using partition Conclusion Solved problems Multiple choice questions Applications/implementation Bibliography 14. Hashing Structure Objectives Hash tables Storing information Sorted sequential array Linked list representation AVL trees Hashing Hash function Collision resolution Selecting hash function Collisions Collision resolution Linear probing Quadratic probing Separate chaining Solved problems Conclusion Multiple choice questions Theory Problems Programming 15. String Matching Structure Objectives Introduction to string-matching Brute force method Rabin Karp Knuth–Morris–Pratt algorithm KMP method Conclusion Multiple choice questions Theory/applications Find errors/special cases References Appendix 1: All Pairs Shortest Path Introduction All Pairs Shortest Path Appendix 2: Tree Traversals Introduction In-Order Traversal Pre-order traversal Post-order traversal Appendix 3: Dijkstra’s Shortest Path Algorithm Introduction Dijkstra’s shortest path algorithm Appendix 4: Supplementary Questions Arrays: Level 0 Arrays: Level 1 Stacks Linked List Trees Graphs Application based Index
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.